javascript代码
function logoutPop() {
var a = confirm("are you sure !");
if (a = true)
return true;
else return false;
}
aspx文件
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
string selectedItem = e.Item.Value;
if (selectedItem == "logout")
{
// here i want to call javascript function logoutPop() and check return value. if true want to redirect login page else nothing.
有没有办法做到这一点。我尝试过scriptmanager但没有成功。请帮忙 。谢谢。
答案 0 :(得分:1)
使用ClientScriptManager.RegisterClientScriptBlock
请参阅以下链接。 http://msdn.microsoft.com/en-us/library/btf44dc9.aspx
此致
答案 1 :(得分:0)
据我所知你不能这样做。你可以在页面加载之前或服务器端代码执行之后运行javascript代码。你不能让javascript在c#代码执行之间工作然后返回到C#。
答案 2 :(得分:0)
使用ASP.NET Menu Control无法在点击事件上注册javascript方法。
我希望我理解你的问题吧!您希望其中一个菜单项上的“确认”框需要在客户端(浏览器)上显示而不进行回发。
这只能通过在呈现文档后使用jQuery来玩DOM来实现。
jQuery代码:
$(document).ready(function () {
$('#MainContent_mTest a').each(function () {
var anchorHtml = $(this).html();
if (anchorHtml == 'logout') {
var clickEvent = this.onclick;
this.onclick = "";
$(this).bind('click', function (ev) {
if (confirm("Are you sure !")) {
clickEvent();
}
else {
return false;
}
});
}
});
我希望这能解决你的问题...