我有一个Enable.js
文件,其中包含Enable()
个功能。我想从C#codebehind中调用这个Enable
函数。我的.js
文件和c#文件在同一个应用程序中。
我试过这个,但它对我没有帮助。
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "Enable(true)", true);
答案 0 :(得分:2)
试试这个:
ScriptManager.RegisterClientScriptInclude(
this,
typeof(Page),
"Enable-js",
ResolveClientUrl("~/scripts/Enable.js"));
ScriptManager.RegisterStartupScript(
this, GetType(), Guid.NewGuid().ToString(),
"Enable(True);", true);
答案 1 :(得分:2)
我可以在你的代码中看到“点击”。因此,我假设你需要点击一些按钮来调用Enable.js文件中的Enable(true)函数
请按照以下步骤操作:
在<head>
部分中引用您的Enable.js文件,如下所示。
<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');");
}
如果您需要更多帮助,请告诉我。
答案 2 :(得分:0)
我写了一个很好的小函数,用于调用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')”);
答案 3 :(得分:0)
你在这里犯了错误:
Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "Enable(true)", true);
您尝试将其作为参数传递的文字字符串 true ,Enable(true)
是不可能的。
你应该尝试这种方式,这样可能会有所帮助。Its only a sample for understanding
string func = "showSuccessMessage('"+name+"');";
//Pass string as funcion in c#
This Link将解释使用C#Code后面的参数调用javascript函数。
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xx",
"<script>test("+x+","+y+");</script>");