在asp.net中,如何从页面中获取文本框值并将其作为值传递给<;asp:HyperLink>;
对这件事来说是新的…而且似乎什么都不管用 这是这一页的一部分在asp.net中,如何从页面中获取文本框值并将其作为值传递给<;asp:HyperLink>;,asp.net,Asp.net,对这件事来说是新的…而且似乎什么都不管用 这是这一页的一部分 <asp:HyperLink id="lblParentUser" runat="server" NavigateUrl="~/admin-users.aspx?userid=<%txtParentUserId.Text%>"></asp:HyperLink> <%--<asp:HyperLink id="lblParentUser" runat="server" Nav
<asp:HyperLink id="lblParentUser" runat="server" NavigateUrl="~/admin-users.aspx?userid=<%txtParentUserId.Text%>"></asp:HyperLink>
<%--<asp:HyperLink id="lblParentUser" runat="server" NavigateUrl='<%# Eval("txtParentUserId","~/admin-users.aspx?userid={0}") %>'></asp:HyperLink>--%>
<asp:TextBox runat="server" id="txtParentUserId" Enabled="false" style="font-family: 'Trebuchet MS','Tahoma'; font-size: 18px; border-style: solid; border-width: 2px; border-color: #c1c1c1; width: 370px;"></asp:TextBox>
--%>
试试:
你有两个选择
///Html示例
函数ClicknDirect(参数){
__doPostBack('lblParentUser',参数);
}
点击这里
///C#代码隐藏示例
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(iPostBack){
string ControlName=Request[“\uu EVENTTARGET”];//有关控件名称的详细信息http://goo.gl/7Uw9ka
string parameter=Request[“\uu EVENTARGUMENT”];//对于参数,它是可选的。
if(ControlName.Equals(“lblParentUser”))
{
重定向(string.Format(“~/admin users.aspx?userid={0}”,txtParentUserId.Text),false);
}
}
}
如果txtParentUserId是表单post的一部分,那么您只需在回发过程中为链接编写HTML即可
<%
Response.Write(String.Format("
<a href='/../admin-users.aspx?userid={0}'/>click here</a>",
txtParentUserId.Text.ToString()));
%>
或者在客户端上使用javascript
<script lang="javascript">
var url = "/../admin2-users.aspx?userid=" +
document.getElementById("txtParentUserId").value;
document.getElementById("lblParentUser").href = url;
</script>
var url=“/../admin2 users.aspx?userid=”+
document.getElementById(“txtParentUserId”).value;
document.getElementById(“lblParentUser”).href=url;
对于最后一个示例,请确保ClientID属性与ID属性相同,并且ClientIDMode设置为静态。例如
<asp:HyperLink ID="lblParentUser" ClientID="lblParentUser" ClientIDMode="Static" ...
<asp:TextBox ID="txtParentUserId" ClientID="txtParentUserId" ClientIDMode="Static"...
添加了函数GetTheUrl(),作为字符串返回“~/admin users.aspx?userid=“+parentUserId.ToString End Function我使用的:如果在初始页面加载期间设置了(或可以设置)txtParentUserId(IsPostBack==false),则需要在代码中设置值(设置了txtParentUserId.Text之后的某个时间)…它起了作用。javascript选项不起作用。我将其修改为:var url=“~/admin users.aspx?userid=“+document.getElementById(“txtParentUserId”).value;document.getElementById(“lblParentUser”).NavigateURL=url;返回的url路径不正确,用户ID无效“set by javascript”不是我期望的id。@user3020047 asp:HyperLink控件是一个仅限于asp.Net服务器端的控件。因此,浏览器上无法访问NavigateUrl属性。但是,HyperLink控件作为锚定标记发送到浏览器(即“”)。因此,要修改该链接的URL,必须设置href属性。
<%
Response.Write(String.Format("
<a href='/../admin-users.aspx?userid={0}'/>click here</a>",
txtParentUserId.Text.ToString()));
%>
HyperLink link = (HyperLink)lblParentUser;
TextBox txt = (TextBox)txtParentUserId;
link.NavigateUrl = String.Format("~/admin-users.aspx?userid={0}",txt.Text.ToString());
<script lang="javascript">
var url = "/../admin2-users.aspx?userid=" +
document.getElementById("txtParentUserId").value;
document.getElementById("lblParentUser").href = url;
</script>
<asp:HyperLink ID="lblParentUser" ClientID="lblParentUser" ClientIDMode="Static" ...
<asp:TextBox ID="txtParentUserId" ClientID="txtParentUserId" ClientIDMode="Static"...