首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NavigateUrl in ASP.Net

NavigateUrl in ASP.Net
EN

Stack Overflow用户
提问于 2014-01-18 07:38:46
回答 1查看 1.6K关注 0票数 0

我是ASP.NET的新手,我对NavigateUrl有意见。

代码语言:javascript
复制
<td align="right" valign="middle">
    <p id="posCstmr">
        <asp:HyperLink ID="hlnkContact" CssClass="addbtn-cmplist" runat="server" NavigateUrl='<%# "Actions/Contact.aspx?ContactID=" + Eval("ContactID") + "&CompanyID=" + Eval("CompanyID") %>' Text="View"></asp:HyperLink>
    </p>
</td>

当我单击hlnkContact之后查看时,它将重定向到以下具有指定值的链接,这是可以的。

http://localhost:1426/Actions/Contact.aspx?ContactID=78724&CompanyID=92971

但我希望将这些值存储在Page_load事件的Contact.aspx事件的会话变量中。

代码语言:javascript
复制
if (!Page.IsPostBack)
{
     Session["ContactID"] = String.IsNullOrEmpty(Request.QueryString["ContactID"].ToString()) ? String.Empty : Session["ContactID"];
}

但是我不能将会话变量存储在Page_Load上,因为NavigateUrl在加载此页面后显示值。

请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2014-01-18 08:45:29

HERE回答了相同类型的问题,您可以调整如下:

假定td位于任何数据库容器中,则Eval 将无法工作]

将标记更改为:

代码语言:javascript
复制
<td align="right" valign="middle">
    <p id="posCstmr">
        <asp:LinkButton ID="LinkButton1"  CssClass="addbtn-cmplist" runat="server"
            Text="View" CommandName="Link" CommandArgument='<%#Eval("ContactID") + ";" + Eval("CompanyID") %>'
            OnClick="ButtonLink_Click" />
    </p>
</td>

代码:

代码语言:javascript
复制
protected void ButtonLink_Click(object sender, System.EventArgs e)
{
    LinkButton lb = (LinkButton)sender;
    string[] arguments = lb.CommandArgument.Split(';');
    string ContactID = arguments[0];
    string CompanyID = arguments[1];

    //Save in session
    Session["ContactID"] = ContactID ;
    Session["CompanyID"] = CompanyID ;

    //Redirect
    Response.Redirect(string.Format("Actions/Contact.aspx?ContactID={0}&CompanyID={1}", ContactID, CompanyID));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21201441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档