【问题标题】:NavigateUrl in ASP.NetASP.Net 中的 NavigateUrl
【发布时间】:2014-01-18 07:38:46
【问题描述】:

我是 ASP.NET 的新手。我在使用 NavigateUrl 时遇到问题。

<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]

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

if (!Page.IsPostBack)
{
     Session["ContactID"] = String.IsNullOrEmpty(Request.QueryString["ContactID"].ToString()) ? String.Empty : Session["ContactID"];
}

但我无法将 Session 变量存储在 Page_Load 上,因为 NavigateUrl 会在加载此页面后显示值。

请帮帮我。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

    [假设 td 在任何数据绑定容器内,否则 Eval 将不起作用]

    将您的标记更改为:

    <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>
    

    代码:

    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));
    }
    

    【讨论】:

    • 感谢 afzalulh,它将值存储到 Session 变量中,但我遇到了其他问题。联系表格显示为空白或空白。它没有任何控件,甚至没有显示白页的标签控件。任何的想法? [localhost:1426/Actions/…
    • 您在联系人的 Page_Load 中有什么?尝试在浏览器中输入localhost:1426/Actions/contacts.aspx?ContactID=78724&amp;CompanyID=92971,看看页面是否加载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2012-07-12
    • 2011-05-19
    • 2016-09-20
    • 1970-01-01
    • 2011-02-05
    • 2011-03-30
    相关资源
    最近更新 更多