ASP.Net中的NavigateUrl

ASP.Net中的NavigateUrl,asp.net,Asp.net,我是ASP.NET新手。我在导航方面有问题 <td align="right" valign="middle"> <p id="posCstmr"> <asp:HyperLink ID="hlnkContact" CssClass="addbtn-cmplist" runat="server" NavigateUrl='<%# "Actions/Contact.aspx?ContactID=" + Eval("ContactID") +

我是ASP.NET新手。我在导航方面有问题

<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>
但是我无法将会话变量存储在页面加载上,因为NavigateUrl会在加载此页面后显示值


请帮助我。

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

[假设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>

感谢afzalulh,它正在将值存储到会话变量中,但我遇到了其他问题。联系人表单显示为空或空白。它没有任何控件,甚至没有显示白色页面的标签控件。有什么想法吗?[您在联系人的页面中有什么?请尝试在浏览器中键入
localhost:1426/Actions/contacts.aspx?ContactID=78724&CompanyID=92971
,查看页面是否加载。
<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));
}