无法在C#中获取最新的按钮名称

时间:2016-08-31 14:59:52

标签: javascript c# jquery asp.net

我的asp项目有一个名为“Save”的asp按钮。但是,我需要在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}
        }

2 个答案:

答案 0 :(得分:0)

如果要在Jquery

中将名称更改为Update1

试试这个

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

您需要使用的活动是 OnClientClick

用法示例

OnClientClick="onupd();return false;"

<强>更新

Decalre Hidden FIeld

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

指定要更新的按钮更改值并将其指定给隐藏字段

不能在您的代码中访问该隐藏值。

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

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

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

答案 1 :(得分:-1)

如果更改了Button.Click值,那么它将移动到另一个方法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
        }
    }