今天遇到一个问题,利用母版作一个网站,在内容页中作了hidden与button,利用hidden对象传值给后台,再用js触发button的click事件。
HTML页面内容:
<asp:Content ID=“BodyContent” ContentPlaceHolderID=“MainContent” runat=“server”>
<!—中间插入二个对象—>
<asp:HiddenField ID=“HiddenField_list” runat=“server” Value=“无” />
<asp:Button ID=“Button1” runat=“server” Text=“Button” OnClick=“Button1_Click” />
</asp:Content>
在JS中给对象赋值时一定注意对象的ID有变化,如下:
function speek_title(speekstr) {
document.getElementById(‘MainContent_HiddenField_list’).value = speekstr;
document.getElementById(“MainContent_Button1”).click();
}
特意对象的ID变化,因为母版的ID为“MainContent”所以在取对象的ID时前加“MainContent_”,如上,“MainContent_HiddenField_list”与“MainContent_Button1”
这样在后台C#代码中代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
HH.BLL.ProjectInfo bsurl = new HH.BLL.ProjectInfo();
speekstr = this.HiddenField_list.Value;
var sp1 = new Speech();
Task task2 = Task.Factory.StartNew(() => sp1.SpeechVideo_Read_re(-1, 90, speekstr));
}
这样可以解决C#与js传值的问题,同意由于有些浏览器对于排版非常讲究,所以建议将JS代码最好写在紧挨着的上面。
在C#开发含有母版的页面中JS向后台传值问题
版权声明:本文为weixin_43621549原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。