在回发期间,在提交jquery期间分配的隐藏字段值为空

时间:2017-03-23 04:52:57

标签: jquery asp.net webforms

我在按钮的提交jquery事件期间为hiddenfield分配值。我可以看到为hiddenfield设置了值,但是当我尝试在服务器端的回发中访问hiddenfield值时,它是空的。我可以在回发期间访问同一表单上的文本字段的值

我的aspx看起来像这样:

<form method="post" action="/" id="mainform">

<input type="text" id="test" name="test" class="test-name"> //this has to be an html element

<asp:HiddenField runat="server" ID="hiddenfield" />

<input type="submit" value="Submit" id="Submit" >   //this has to be an html element

我的Javascript看起来像这样

$('.js-card-entry-submit').submit.on('click', function (e) {

//do something

$("#hiddenfield").attr("value", myvalue);//assign value to hiddenfield
}

.Net Webforms:

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
        {
            var value = hiddenfield.Value; // this is empty
            var name = Request.Form["test-name"]; // I can access the value of this text field
        }

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

$('.js-card-entry-submit').submit.on('click', function (e) {
    //do something
    $(hiddenfield).attr("value", value);// Replace this line with
    $('#hiddenfield').val("your value");
}

希望它有所帮助。

答案 1 :(得分:0)

因为您要分配值,为什么不使用纯html代码而不是asp代码

<input type="hidden" id="hiddenfield" name="hiddenfield"/>

你的脚本将是这样的

 $("#hiddenfield").val("123");
 $(this).submit(); //this will submit the form

并在postback

if (IsPostBack)
   {
       String value = Request.Form["hiddenfield"];
   }