Ger*_*ois 9 javascript c# asp.net
我有一个简单的内容管理系统,通过Pagename和Version存储页面.单击Save后,我的代码(服务器端)检查是否存在Pagename/Version.
如果存在,我想显示一个确认对话框,要求用户确认是否应该替换当前的Pagename/Version.
实现这一目标的最简单方法是什么?谢谢.
Car*_*rlo 13
<asp:Button OnClientClick="return confirm('Are you sure you want to go?');"
Text="Confirm" runat="server" onclick="Unnamed1_Click" />
Run Code Online (Sandbox Code Playgroud)
如果他们点击OK,服务器onclick事件就会发生,如果他们点击取消,就好像他们甚至没有按下按钮,当然,你总是可以在取消部分添加功能.
也许是这样的:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
function CompareConfirm()
{
var str1 = "abc";
var str2 = "def";
if (str1 === str2) {
// your logic here
return false;
} else {
// your logic here
return confirm("Confirm?");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button OnClientClick="return CompareConfirm();"
Text="Confirm" runat="server" onclick="Unnamed1_Click" />
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我很欣赏以前的答案,他们很有帮助,但不完全是我想要的.在考虑了回复并做了更多的研究后,我发布了我的解决方案,以便它可能会帮助其他人.
按钮代码:
<asp:Button ID="btnSave" OnClick="btnSaveClick" runat="server" Text="Save" OnClientClick="return CheckForVersion()" />
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
<script language="javascript">
function CheckForVersion() {
PageMethods.CheckForVersion(aspnetForm.ctl00$ContentPlaceHolder1$ddlPageName2.value, aspnetForm.ctl00$ContentPlaceHolder1$txtContentName2.value, OnSucceeded, OnFailed);
return false;
}
function OnSucceeded(results) {
if(results) {
//version exists so prompt user
if(confirm("Version already exists. Do you want to overwrite?")) {
__doPostBack('ctl00$ContentPlaceHolder1$btnSave','');
}
}
else
{
//version does not exist so save it without prompting user
__doPostBack('ctl00$ContentPlaceHolder1$btnSave','');
}
}
function OnFailed(error) {
// handle pagemethod error
alert(error.get_message());
}
</script>
Run Code Online (Sandbox Code Playgroud)
C#使用Subsonic 2.1:
[WebMethod]
public static bool CheckForVersion(string pageName, string versionName)
{
PageContentCollection pages = new PageContentCollection().Where("pageName", pageName).Where("versionName", versionName).Load();
if (pages.Count > 0)
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23868 次 |
最近记录: |