如何从ASP.Net中的用户控件调用客户端脚本?
我已阅读此问题的许多参考,但没有得到结果。所以,我想让我试着在这里解释我的科学家。如何从ASP.Net中的用户控件调用客户端脚本?
这是我的3脚本,它在view.ascx
控制。我想在.cs
文件功能和点击事件中调用它。
view.ascx
<script type="text/javascript">
function startLoading() {
alert("load start");
var el = jQuery(".scp-entry-header");
App.blockUI(el);
}
function stopLoading() {
alert("load end");
var el = jQuery(".scp-entry-header");
App.unblockUI(el);
}
function getCalendarData() {
alert("calendarcalled");
}
</script>
view.ascx.cs
//ViewData button click
protected void btnGetData_Click(object sender, EventArgs e)
{
//How to call startLoading function here?
process from database;
//How to call stopLoading function here?
}
//simple function call
protected void showCalendar()
{
//How to call getCalendarData function here?
}
我看了一下RegisterScript,但没有得到结果。我不明白RegisterScript的位置以及如何在函数中调用它。
任何人都可以请我详细的建议我如何在这里调用JavaScript函数?
尝尝这
protected void btnGetData_Click(object sender, EventArgs e)
{
//How to call startLoading function here?
process from database;
//How to call stopLoading function here?
Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "startLoading", true);
}
或
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", "<script>alert('Hello.')</script>", false);
这对用户控制的情况会有帮助吗?我的问题是UserControl –
您需要为用户控件的链接按钮添加委派或自定义事件,并使用可以调用此事件的自定义事件。 –
请记住,您不能在C#代码中调用JavaScript函数并继续执行服务器端代码。
对.cs文件的JavaScript函数的所有调用只是执行服务器端代码后执行的调度/标记。它们不是与服务器代码一起执行的。
换句话说,您将不得不通过和异步代码来实现此功能,或者更好的是,将其作为JavaScript中的异步调用来实现。
客户端的代码应该在客户端。尽量不要混合它们。
谢谢。我已阅读一些参考(http://stackoverflow.com/questions/18036508/how-to-call-a-java-script-function-from-user-controls),但它没有用。你能指导我该如何处理上述情况? –
可能的复制(HTTP [我如何调用从asp.net按钮JavaScript的点击?]://计算器。 com/questions/15136034/how-do-i-call-javascript-from-asp-net-button-click) – rcdmk
@rcdmk它不一样。我想从'.cs'文件中调用javascript函数(而不是仅在按钮上单击)。我也想在'.cs'文件的简单函数中调用javascript。我编辑了我的问题,以便更清楚地说明问题。请纠正我,以防止误解。 –