我有一个aspx.cs页面,其中有一个方法需要注册Javascript文件和方法。有人可以指导我如何注册JS文件及其中的方法。
aspx.cs
protected void Page_PreRender(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"TaskControlJSON", "<script language='javascript'
type='text/javascript'>" + objLoginJson + "</script>"
, false);
}
需要注册到cs文件的Javascript文件。
function GetLoginJson(strLoginJson) {
if (strLoginJson != '' && strLoginJson != undefined) {
var objLoginJson = eval('"+strLoginJson+"');
}
if (objLoginJson.LoginSuccess == "1") {
}
else if (objLoginJson.LoginSuccess == "0") {
if (objLoginJson.txtUserName != '' && objLoginJson.txtUserName != '')
{
$('#txtUserName').attr("class", objLoginJson.txtUserName);
}
if (objLoginJson.txtPassword != '' && objLoginJson.txtPassword != '')
{
$('#txtPassword').attr("class", objLoginJson.txtPassword);
}
if (objLoginJson.txtTestTokenNumber1 != ''
&& objLoginJson.txtTestTokenNumber1 != '')
{
$('#txtTestTokenNumber1').attr("class"
, objLoginJson.txtTestTokenNumber1);
}
if (objLoginJson.txtTestTokenNumber2 != ''
&& objLoginJson.txtTestTokenNumber2 != '')
{
$('#txtTestTokenNumber2').attr("class",
objLoginJson.txtTestTokenNumber2);
}
if (objLoginJson.txtTestTokenNumber3 != ''
&& objLoginJson.txtTestTokenNumber3 != '')
{
$('#txtTestTokenNumber3').attr("class",
objLoginJson.txtTestTokenNumber3);
}
if (objLoginJson.txtTestTokenNumber4 != ''
&& objLoginJson.txtTestTokenNumber4 != '')
{
$('#txtTestTokenNumber4').attr("class",
objLoginJson.txtTestTokenNumber4);
}
}
return objLoginJson;
}
如果用户提供了错误的登录凭据,则此方法返回Json字符串。提前致谢。
由于你是一个相当大的javascript代码块,所以最好保存在一个单独的js文件中。
您可以使用ScriptManager.RegisterClientScriptInclude方法来实现此目的。
ScriptManager.RegisterClientScriptInclude(
this,
typeof(Page),
"LoginScript",
ResolveClientUrl("~/scripts/login.js"));
您尚未指定如何使用js函数GetLoginJson
,因此我将仅提供参考。您的js文件可以通过以下方式调用它:
$(document).ready(function(){
$("#loginButton").click(function(){
var strLoginJson = "";//form the string as you need
GetLoginJson(strLoginJson);
});
});
好的,我做了一些调整,并使其工作。
protected void Page_PreRender(object sender, EventArgs e)
{
if (strLoginJson != string.Empty)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "LoginControlJSON", "<script language='javascript' type='text/javascript'>GetLoginJson(" + strLoginJson + ");</script>", false);
}
}