我对 C# 和 javascript 在同一个应用程序中的结合相当陌生。我想我一定错过了让它们一起工作的一些重要部分。从我的代码隐藏调用我的 javascript 函数不会产生我期望的结果,但也不会导致错误。根本没有任何反应。我正在使用 Visual Studio 2010 进行开发,如果有内置的 JS 调试器,我不知道在哪里可以找到它 - 无法逐步完成会使这更加恶化。
在我的 .aspx 中(两个“FieldName”值都来自代码的另一部分):
<script language ="javascript">
var idSelection;
var nameSelection;
function selectRow(idItem, nameItem) {
idSelection = idItem;
nameSelection = nameItem;
alert(idSelection + " " + nameSelection);
var targetIdValue;
var targetForm = window.opener.document.forms(0);
eval("targetForm." + targetIdFieldName + ".value = '" + idSelection + "';");
eval("targetForm." + targetNameFieldName + ".value = '" + nameSelection + "';");
window.close();
}
</script>
我的电话:
protected void AppGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
{
txthidAppId = (HtmlInputHidden)Session["hidAppId_rvte"];
txtAppName = (TextBox)Session["txtAppName_rvte"];
txthidAppId.Value = selectedApp.Id;
txtAppName.Text = selectedApp.Name;
Page.ClientScript.RegisterStartupScript(GetType(), "SelectApp", "selectRow(" + txthidAppId.Value + ", " + txtAppName.Text + ")", true);
}