如何正确使用asp.net服务器标签?

时间:2015-02-11 10:16:13

标签: jquery asp.net

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

<% {%> <%} %

这是asp.net webforms中的推荐或标准用法吗?

我目前要将服务器和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中的服务器代码。

1 个答案:

答案 0 :(得分:0)

除了难以阅读之外,我没有发现任何问题。当您在WebForms中执行类似内联的内容时,您没有多少选择。

如果你为了清晰起见,你可能只想重新整理一下,或者尝试让你的所有服务器内容远离大部分的javascript,例如:

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

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

会向页面呈现更多内容,但是在aspx源和呈现的HTML中读取它们会更加清晰。