如何在不使用Code Behind的情况下在页面组件中绑定QueryStringParameter

时间:2012-12-19 23:29:11

标签: c# asp.net query-string

我想直接在我的页面中绑定一些查询字符串参数,而不是使用后面的代码。我知道我可以在后面的C#代码中使用Request.QueryString["param"].ToString();,但我想直接绑定它。

类似的东西:

<asp:HyperLink ID="Add" runat="server" NavigateUrl='<%#Eval(Request.QueryString["param"], "~/PartnerOffice.aspx?partnerId={0}") %>' Text="Add New Office" />

这可能吗?

谢谢,JiKra

1 个答案:

答案 0 :(得分:1)

如果您只是导航到另一个页面,为什么要使用asp:HyperLink?只需使用常规<a>代码,然后将QueryString参数添加到其中:

<a href="~/PartnerOffice.aspx?partnerId=<%= Request.QueryString["param"] %>">Add New Office</a>

修改

您不能在服务器端控件中使用代码块。来自a related question

  

您不能在内部使用代码块(<%%><%=%><%:%>)   服务器端控制。绑定表达式(<%#%>)是不同的   物质

     

您需要了解shortcut server side code blocks之间的差异,随机尝试不同的方法,就像您一样   似乎在做什么会教你什么。

     

您可以在代码隐藏文件中分配值:

TextBox1.Text = DateTime.Now.Date.ToString("dd-MM-yyyy");