为什么我无法显示此特定的#变量值?

时间:2015-07-10 07:26:50

标签: c# .net webforms user-controls eval

这是我的runat="server" html元素:

<a runat="server" href='<%#link%>' ID="TheLink">
    Test
</a>

我需要在href内部打印link变量的值(在.cs上定义):

protected string link = "http://www.test.com";

但我无法:变量值为“空”。我哪里错了?

如果我使用原生HyperLink控件......

1 个答案:

答案 0 :(得分:0)

我想你可以改变这个

<a runat="server" href='<%#link%>' ID="TheLink"> Test </a>

到此

<a href='<%=link%>' ID="TheLink"> Test </a>

<%#只运行代码,但不输出任何内容。 <%=将输出这些标记内的任何内容。

请勿忘记删除runat=server,因为<%=如果您不删除它,则会生成纯文字。

或许你可以改成这个

<asp:LinkButton id="myid" runat="server" OnClick="redirectToLink" Text="Test" />
代码背后的

protected string link = "http://www.test.com";
protected void redirectToLink(object sender, EventArgs e)
        {
            Response.Redirect(link);
        }

如果你坚持使用href代码,你可以这样做:

<asp:Label ID="testLabel" runat="server" />
代码背后的代码:

protected string link = "http://www.test.com";
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                testLabel.Text = string.Format("You also have to click on is <a href=\"{0}\"> link </a>",link);
            }
        }