如何将输入字段隐藏值放在asp按钮中

时间:2017-01-10 07:49:12

标签: asp.net

我有隐藏价值:

<input type="hidden" name="orderRef" value="<%=orderRef%>" />

我有一个asp按钮,我想把这个参数传递给aspx.cs函数:

<asp:Button ID="submitForFree" runat="server" OnCommand="btnPromoBtn_Click" CommandArgument="<%=orderRef%>" class="primary-button" Text="PayNow"></asp:Button>

但在函数中它显示了一个字符串“&lt;%= orderRef%&gt;” 我怎样才能把它放在CommandArgument中?

2 个答案:

答案 0 :(得分:1)

您有两个选择

将其设置在

后面的代码中

而不是尝试在标记中设置它,在OnInit之后的某个时间将其设置在代码隐藏中。

this.submitForFree.CommandArgument = orderRef;

从请求中读取

不要在CommandArgument中传递值,只需从HttpRequest中读取它,隐藏变量在Request.Form中公开。

protected void btnPromoBtn_Click(EventArgs e, object sender)
{
    //var arg = e.CommandArgument;
    var arg = Request.Form["orderRef"];
    DoSomethingWithCommandArgument(arg);
}

答案 1 :(得分:0)

您可以像这样绑定CommandArgument

CommandArgument='<%# orderRef %>'

但是如果您的按钮位于Repeater,GridView,ListView等之外,则每次加载页面时都需要手动调用DataBind

protected void Page_Load(object sender, EventArgs e)
{
    submitForFree.DataBind();
}