我用js给文本框赋值function c(templateId)
{
var text = document.getElementById("lbl_templateId");
text.value = templateId;
}<input id="lbl_templateId" type="text" style="display:none" />
然后后台获取int templateId = Convert.ToInt32(Request.Form["lbl_templateId"]);
是空值,是因为js赋值的关系吗

解决方案 »

  1.   

    <input id="lbl_templateId" name="bl_templateId" type="text" style="display:none" />然后确定是post方式提交
      

  2.   

    <input id="lbl_templateId" name="lbl_templateId" type="text" style="display:none" />然后确定是post方式提交不确定方式的话就用
    Request["lbl_templateId"]
      

  3.   

    老兄,在input 后面加个runt=“server”  在后台就可已调用了,这也是你没获取到值的原因
      

  4.   

    刚单词打错了 是 runat="server" 这个  表示后台可以获取到
      

  5.   

    <input id="lbl_templateId" type="text" style="display:none"  value="10" runat="server"/>
      

  6.   

    <input id="lbl_templateId" name="lbl_templateId" type="text" style="display:none" />
      

  7.   

    是的,js赋值给普通的Html元素,submit是获取不到的。你可以将它改为<asp:HiddenField ID="lbl_templateId" runat="server" />,就可以拿到值了,submit在提交时,会传递服务端控件的状态。