在c#中无法获得最新的按钮名称

本文关键字:最新 按钮 | 更新日期: 2023-09-27 18:05:03

我的asp项目有一个asp按钮,命名为'Save'。但是,我需要在jQuery中将其更改为'Update'以在一个按钮中做其他事情。

问题是c# onclick代码仍然读取它为Save..

代码:

//Main
<asp:Button ID="btnSubmit" runat="server" Text="Save" />
//JQuery
 $("#<%=btnSubmit.ClientID %>").val("Update");
//C#
 var button = sender as Button;
var buttonName = button.Text; //Save

Update1

问题是:我需要在JQuery

中更改按钮名称
$("#<%=btnChangeName.ClientID %>").click({
     $("#<%=btnSubmit.ClientID %>").val("Update"); //Change Save to Update
});

然后在c#中使用:

protected void btnSubmit_Click(object sender, EventArgs e)
        {
              var button = sender as Button;
              var buttonName = button.Text;
              if (buttonName == "Save")
              {//something}
              else
              {//something}
        }

在c#中无法获得最新的按钮名称

如果你想在Jquery中将Name更改为Update1

try like this

$("#<%=btnSubmit.ClientID%>").val('Update');

需要使用的事件是OnClientClick

使用示例
OnClientClick="onupd();return false;"

声明一个隐藏字段

<asp:HiddenField runat="server" ID="hdntest" Value="0" />

指定按钮更改值以更新,并将其分配给隐藏字段

不能访问后面代码中的隐藏值。

您可以将按钮值分配给隐藏字段,像这样

$("#<%=btnSubmit.ClientID %>").val("Update");
 $("#<%=hdntest.ClientID%>").val($("#<%=btnSubmit.ClientID%>").attr("value"));

如果您更改按钮。点击value,然后它会移动到另一个方法onClick;

private void Form1_Load(object sender, EventArgs e)
    {
        Button b = new Button();
        b.Name = "btnSubmit";// creating here for intellisense - you would create on your front-end
        bool recordExists = true;
        Button b1 = Controls.Find("btnSubmit", true)[0] as Button;
        //the above is for winforms - you'd have to change for web form
        b1.Text = recordExists ? "Update" : "Save";
        b1.Click += doUpdateOrSave;
    }
    protected void doUpdateOrSave(object sender, EventArgs e)
    {
        Button b = sender as Button;
        if (b.Text == "Save")
        {
            //save
        }else
        {
            //update
        }
    }