[英]Referencing variables from C# in ASP.NET
我试图在我的ASPX文件中使用我的C#文件中的QueryStrings:
<asp:Button ID="LinkButtonDetails" runat="server" Text="DETAILS"
PostBackUrl='<%# string.Format("~/projectdetails.aspx?guid=<%= id%>
&name=<%= name%>
&role=<%= company_role%>
&member=<%= mem_id%>
&company={0}
&project={1}&id={2}", Eval("CompanyID"), Eval("ProjectName"), Eval("ProjectID")) %>' />
这些值没有附加到网址上,我做错了什么? 谢谢你的帮助!
假设id,name,company_role,mem_id是页面(控件)的字段或属性,我建议您执行以下操作:
在aspx标记文件中编写:
<asp:Button ID="LinkButtonDetails" runat="server" Text="DETAILS" PostBackUrl='<%# GenerateLink(Eval("CompanyID"), Eval("ProjectName"), Eval("ProjectID")) %>' />
并在cs文件中写道:
protected string GenerateLink(object companyId, object projectName, object projectId)
{
return string.Format("~/projectdetails.aspx?guid={0}&name={1}&role={2}&member={3}&company={4}&project={5}&id={6}", id, name, company_role, mem_id, companyId, projectName, projectId);
}
另外不要忘记调用DataBind。
PS您可能还需要使用HttpUtility.UrlEncode()对查询字符串参数进行编码
在页面加载调用
Page.DataBind();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.