怎么样在前台HTML中得到一个服务器控件的值?
我想在前台HTML中用 <A href= "yl.aspx " target= "_blank "> 这种方法打开一个新页面的时候,把页面中的TextBox1.Text这个值传过去,该怎么样写呢?
<A href= "yl.aspx?ID= "+TextBox1.Text+ " " target= "_blank ">
这样写也不行啊,得不到TextBox1.Text的值啊
[解决办法]
定义一个public的变量在后台,
在前台 <%变量名%>
[解决办法]
后台:
public string textboxtext;
protected void Page_Load(object sender, EventArgs e)
{
textboxtext = TextBox1.Text;
}
前台:
<A href= "yl.aspx?ID= " <%=textboxtext%> " target= "_blank ">
[解决办法]
在后台的话 也要赋值啊
<a href...
你看看这个 document.getElementByID( "this.TextBox1.ClientID ").text 或者 .value 什么的 看看
如果好用 告诉一下我 现在我没法测试
[解决办法]
<A href= "# " mxh= "yl.aspx " target= "_blank " onclick= "this.href=this.mxh + '?id= ' + document.getElementById( ' <%=TextBox1.ClientID%> ').value; ">
<A href= "yl.aspx?ID= " <%=textboxtext%> " target= "_blank ">
这些写法不能得到用户输入的值
[解决办法]
1、在Page_Load里加这样一句:
Page.RegisterStartUp( " <script> var txtId= "+TextBox1.ClientID+ " </script> ")
2、在ASPX文件中加入这样一个函数:
<script laguage= "javascript ">
function getValue(){
return document.getElementById(txtId).value;
}
</script>
[解决办法]
document.getElementById( " <%=this.TextBox1.ClientID %> ").value
正解
[解决办法]
前台取服务器端控件的值,必须用服务器控件的客户端ID,即Control..ClientID ,尤其是在用户控件用,必须使用这种方式。