我遇到以下情况:用户选择了产品,检索了产品记录并设置了延期交货标志。我想询问用户是否想将其包含在订单中。我似乎无法在任何地方找到在 IF 语句中演示它的示例。
我的 VB 代码片段:
Dim backorder = myDataTable.Rows(0)("backorder").ToString()
If backorder = "True" And <somehow ask user it they want to order anyway> Then
'do something
End If
我的 Javascript 在 aspx 文件中:
<script type = "text/javascript">
function Confirm() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Selected item is on temporary back order. Do yuou want to include it on this order?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
document.forms[0].appendChild(confirm_value);
}
</script>
我可以从 VB 读取通过 javascript 添加到页面的变量,但无法弄清楚如何调用 javascript 来提示用户。 出于某种原因,我无法理解这个问题。请举例说明。
最佳答案
使用RegisterStartupScript
方法:
Sub ProcessOrder()
'Your code to process the selected products here...
Dim orderAnyway As string = hdnConfirmResponse.Value.Trim()
If selectedItem.BackOrdered Then
If orderAnyway = "" Then
Dim cs As ClientScriptManager = Page.ClientScript
' Define the name and type of the client scripts on the page.
Dim csname1 As String = "ConfirmScript"
Dim cstype As Type = Me.GetType()
' Check to see if the startup script is already registered.
If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
Dim cstext1 As String = "Confirm();"
cs.RegisterStartupScript(cstype, csname1, cstext1, True)
End If
Else
If orderAnyway = "yes" Then
'ADD THE BACKORDERED ITEM SINCE THEY CONFIRMED
End If
End If
End If
End Sub
关于javascript - 在带有 VB 代码隐藏的 ASP 中,如何向用户显示 VB 中的是/否对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44641687/