日期:2014-05-20  浏览次数:20431 次

怎么样在前台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 ,尤其是在用户控件用,必须使用这种方式。