【问题标题】:How to properly use asp.net server tags?如何正确使用asp.net服务器标签?
【发布时间】:2015-02-11 10:16:13
【问题描述】:

我正在尝试在网上搜索任何使用这样的内联服务器变量的 javascript:

<% {%> <%} %

这是 asp.net 网络表单中的推荐或标准用法吗?

我目前必须混合服务器和 javascript 代码,如下所示:

$(document).ready(function()
{
    jsMyStuff.SiteMaster.ServerData.Add('EmailAddress', '<%=EmailAddress%>');
    jsMyStuff.SiteMaster.ServerData.Add('ReturnURL', '<%=ReturnURL%>');

    $('footer div.std-grey-btn').click(function()
    {
        <%
        if (this.KeepUpToDate.Text.Length > 0)
        {%>
            $(location).attr('href', 'https://localhost/Websites/MySite/Email_Club_Sign_Up?ReturnUrl=' +
                               jsMyStuff.SiteMaster.ServerData['ReturnURL'].Value + "&hd" +
                               jsMyStuff.SiteMaster.ServerData['EmailAddress'].Value);
        <%}
        else
        %>
            return false;
    })
});

这构建正常。 有没有其他人使用过这种复杂的语法?它与 mvc razor 语法更密切相关吗?这是明智的还是推荐的?

this.KeepUpToDate.Text.Length 是 c#.net 中的服务器代码。

【问题讨论】:

  • 我没有尝试使用 Razor - 我使用的是 asp.net 网络表单。由于架构要求,我需要在 .aspx(实际上是主)页面的 标记中使用内联服务器标记语法。就是这样。

标签: jquery asp.net


【解决方案1】:

我认为它没有任何问题,除了它难以阅读。当您在 WebForms 中执行类似的内联内容时,您别无选择。

如果你想清楚,你可能想重新组织一下,也许试着让你所有的服务器东西远离你的大部分 javascript,比如:

var keepUpToDate = "<%: this.KeepUpToDate.Text %>";

if (keepUpToDate) {
    $(location).attr('href', 'blah');
} else {
    return false;
}

页面会呈现更多内容,但在 aspx 源代码和呈现的 HTML 中阅读会更清晰。

【讨论】:

  • 谢谢,我实际上在问这个问题时感到困惑,因为我认为有这样的事情:'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 2012-12-14
相关资源
最近更新 更多