将服务器端变量传递给链接的javascript文件

时间:2015-05-27 15:26:45

标签: javascript c# html

我正在构建一个多语言Web应用程序,其中我有一个.aspx.cs文件

public partial class example:System.Web.UI.Page
{
    private string message="message to be displayed depending on user language";
        public string Message
        {
            get{return message;}


            set{} 
         }    
}

和.aspx文件,其中我链接了一个用于验证用户输入的javascript文件

<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
     <script type="text/javascript" src="Scripts/DataValidation.js"></script>
    </head>
    <body>
<form id="form1" runat="server" onsubmit="return validation()">
    <asp:TextBox ID="tbSupplierName" CssClass="marginspace" runat="server" Width="150px" MaxLength="30"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" 
                        onclick="btnSearch_Click"   />
</form>
    </body>
    </html>

我的DataValidation.js文件就像这样

 function validation()
    {
    var SupplierName = document.getElementById('tbSupplierName');
    if (SupplierName.value.length == 0)
    {
    alert('please enter supplier name');//here i want to display server side variable 'message'
    return false;
    }
    }

问题是我想传递我的服务器端变量&#39; message&#39;到链接的外部JavaScript文件DataValidation.js并在alert

中显示它

我已尝试过以下代码,但它无效

function validation()
    {
  var message='<%=Message%>';
    var SupplierName = document.getElementById('tbSupplierName');
    if (SupplierName.value.length == 0)
    {
    alert(message);
    return false;
    }
    }

帮我解决问题。谢谢。

1 个答案:

答案 0 :(得分:4)

您可以在ASP.NET页面中声明全局JavaScript变量

 <script>
    message='<%=Message%>';
 </script>

然后你可以直接在JS文件中使用它

function validation() {
    var SupplierName = document.getElementById('tbSupplierName');
    if (SupplierName.value.length == 0) {
        alert(message);
        return false;
    }
}