我有几个文本框供用户输入,还有用于保存记录的按钮。在最终将记录插入数据库之前,我想用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;
}
}
我的语言不是英语,请原谅我的语法。接下来,编程是我的爱好,所以...感谢所有可以帮助我并提出更好方法的人。
答案 0 :(得分:1)
如果您想继续在服务器端检查此逻辑,那么我想最简单的方法是仅在不满足条件的情况下执行SQL逻辑。也许像这样简单:
if (string.IsNullOrEmpty(telnr.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "corectyesno()", true); return;
}
else
{
try
{
// your SQL code...
}
// etc.
}
几乎与您的逻辑相同,但是else
表示只有在满足{em> em 的if
条件的情况下才应执行SQL代码。 / p>