我有一个Enable.js
具有功能的文件Enable()
。我想Enable
从 C# 代码隐藏中调用此函数。我的.js
文件和 c# 文件在同一个应用程序中。
我试过这个,但它对我没有帮助。
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "Enable(true)", true);
我有一个Enable.js
具有功能的文件Enable()
。我想Enable
从 C# 代码隐藏中调用此函数。我的.js
文件和 c# 文件在同一个应用程序中。
我试过这个,但它对我没有帮助。
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "Enable(true)", true);
我可以在您的代码中看到“点击”。因此,我假设您需要单击某个按钮来调用 Enable.js 文件中的 Enable(true) 函数
请按照以下步骤操作:
在下面的部分中引用您的 Enable.js 文件<head>
。
<script src="Scripts/Enable.js" type="text/javascript"></script>
Enable.js 文件如下:
function Enable(var){
alert(val)
}
在点击事件上调用Enable()
函数:Button1
protected void Page_Load(object sender, EventArgs e){
Button1.Attributes.Add("OnClick", "return Enable('true');");
}
如果您需要更多帮助,请告诉我。
尝试这个:
ScriptManager.RegisterClientScriptInclude(
this,
typeof(Page),
"Enable-js",
ResolveClientUrl("~/scripts/Enable.js"));
ScriptManager.RegisterStartupScript(
this, GetType(), Guid.NewGuid().ToString(),
"Enable(True);", true);
我写了一个不错的小函数,用于调用 jquery 或只是基于我不久前看到的一些 VB 在 C# 中的一般 JS。
public bool runJQueryCode(string message)
{
ScriptManager requestSM = ScriptManager.GetCurrent(Page);
if (requestSM != null && requestSM.IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), Guid.NewGuid().ToString(), getjQueryCode(message), true);
}
else
{
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), Guid.NewGuid().ToString(), getjQueryCode(message), true);
}
return true;
}
private string getjQueryCode(string jsCodetoRun)
{
string x = "";
x += "$(document).ready(function() {";
x += jsCodetoRun;
x += " });";
return x;
}
所以你可以调用 runJqueryCode("alert('hey')");
你在这里犯了一个错误:
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "Enable(true)", true);
您试图作为参数传递的Enable(true)
文字字符串是不可能的。
你应该尝试这种方式,所以它可能会有所帮助。Its only a sample for understanding
string func = "showSuccessMessage('"+name+"');";
//Pass string as funcion in c#
此链接将解释使用 C# 代码后面的参数调用 javascript 函数。
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xx",
"<script>test("+x+","+y+");</script>");