Asp.net C# 在插入记录前用 JS 确认对话框检查条件为什么不触发?
Asp.net C# check conditions with JS confirm dialog before insert record not fire why?
我有几个用于用户输入的文本框和用于保存记录的按钮。在最终将记录插入数据库之前,在 C# 按钮单击操作中,我想建议用户使用带有确认对话框的 javascript 函数填充一些重要的文本框。如果用户选择是,代码应该中断并聚焦文本框。如果没有,代码应该继续并插入记录。那是我的目标。
但是,即使条件为真,JS 函数也不会启动。只有在 C# JS 调用结束时有 si return; 时,JS 函数才会启动。这是我的代码:
protected void savenew_Click(object sender, EventArgs e)
{ if (string.IsNullOrEmpty(arr.Text)) { ScriptManager.RegisterStartupScript(this, GetType(), "alertMessage", "alert('Missing arr..');", true); arr.Focus(); return; }
// HERE IS PROBLEM:
if (string.IsNullOrEmpty(telnr.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true); return;
}
try
{
SqlCommand MyCommand = new SqlCommand( etc...
//and JS function:
function corectyesno()
{
if (confirm('Do you want to proceed ?')) {
return true;
}
else {
return false;
}
}
我的语言不是英语,所以请原谅我的语法错误。接下来,编程是我的爱好所以...感谢所有可以帮助我并提出更好方法的人。
如果您想继续在服务器端检查此逻辑,那么我认为最简单的方法是仅在不满足条件时才执行您的 SQL 逻辑。也许像这样简单:
if (string.IsNullOrEmpty(telnr.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true); return;
}
else
{
try
{
// your SQL code...
}
// etc.
}
这几乎和你的逻辑一样,但是 else
表示只有 if
条件为 时才应执行 SQL 代码没见过面。
我有几个用于用户输入的文本框和用于保存记录的按钮。在最终将记录插入数据库之前,在 C# 按钮单击操作中,我想建议用户使用带有确认对话框的 javascript 函数填充一些重要的文本框。如果用户选择是,代码应该中断并聚焦文本框。如果没有,代码应该继续并插入记录。那是我的目标。 但是,即使条件为真,JS 函数也不会启动。只有在 C# JS 调用结束时有 si return; 时,JS 函数才会启动。这是我的代码:
protected void savenew_Click(object sender, EventArgs e)
{ if (string.IsNullOrEmpty(arr.Text)) { ScriptManager.RegisterStartupScript(this, GetType(), "alertMessage", "alert('Missing arr..');", true); arr.Focus(); return; }
// HERE IS PROBLEM:
if (string.IsNullOrEmpty(telnr.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true); return;
}
try
{
SqlCommand MyCommand = new SqlCommand( etc...
//and JS function:
function corectyesno()
{
if (confirm('Do you want to proceed ?')) {
return true;
}
else {
return false;
}
}
我的语言不是英语,所以请原谅我的语法错误。接下来,编程是我的爱好所以...感谢所有可以帮助我并提出更好方法的人。
如果您想继续在服务器端检查此逻辑,那么我认为最简单的方法是仅在不满足条件时才执行您的 SQL 逻辑。也许像这样简单:
if (string.IsNullOrEmpty(telnr.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true); return;
}
else
{
try
{
// your SQL code...
}
// etc.
}
这几乎和你的逻辑一样,但是 else
表示只有 if
条件为 时才应执行 SQL 代码没见过面。