【问题标题】:Why am I not able to display this specific # variable value?为什么我无法显示这个特定的 # 变量值?
【发布时间】:2015-09-28 20:35:56
【问题描述】:

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

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

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

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

但我做不到:变量值为“空”。我哪里错了?

如果我使用原生 HyperLink 控件也是一样...

【问题讨论】:

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


    【解决方案1】:

    我觉得你可以改一下

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

    到这里

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

    &lt;%# 只是运行代码,但不输出任何内容。 &lt;%= 将输出这些标签内的任何内容。

    不要忘记删除runat=server,因为如果您不删除&lt;%=,它将生成纯文本。

    或者也许你可以改成这个

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

    【讨论】:

    • 你不能在 runat="server" 类型中使用=
    • 我不能也不想删除 runat=server。我需要它。)
    • 我已经编辑了我的答案,你可以选择你认为可以的并去做。
    • 没有人回复我在那个元素中“为什么我不能使用”变量的回答:(
    • 公开变量有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 2018-09-22
    • 2023-03-14
    相关资源
    最近更新 更多