我有一个带有HtmlInputHidden字段的简单页面。我使用Javascript更新该值,并在回发页面时,我想读取该HtmlInputHidden字段的值。 HtmlInputHidden字段的Value属性是回发默认值(创建页面时的值,而不是通过Javascript反映的值)。我还尝试使用ScriptManager.RegisterHiddenField(Page,“MyHtmlImputHiddenField”,“initialvalue”)注册HtmlInputHidden字段,但它仍然只允许我读取'initialvalue',即使我(通过javascript)可以检查值是否已更改。 / p>
我试图对rowid进行硬编码,令我惊讶的是,在删除之后回发gridview完全相同但是从数据库中删除了记录。 (我称之为数据绑定方法)。
protected void gridViewDelete(object sender, GridViewDeleteEventArgs e)
{
bool bDelete = false;
bool bCheck = false;
if (hfControl.Value != "1")
{
// check relationship
bCheck = validation_method(.......);
if (bCheck)
{
bDelete = true;
}
}
else
{
hfControl.Value = "";
bDelete = true;
}
if (bDelete)
{
//process delete
}
else
{
string script = string.Empty;
script += " var x; ";
script += " x = confirm('are u sure?'); ";
script += " if (x){ " ;
script += " document.getElementById('hfControl').value = '1'; ";
script += " setTimeOut(__doPostBack('gridView','Delete$"
+ e.RowIndex + "'),0);";
script += " } ";
ScriptManager.RegisterClientScriptBlock(this,
Page.GetType()
, "confirm"
, script
,true);
}
}
答案 0 :(得分:0)
在回发时,页面加载时隐藏字段的视图是回发的内容,还是页面加载时设置的值?您可能需要担心在回发中您没有将值重置为最初的值的情况。另一点是,如果您执行删除操作,是刷新您显示的数据还是相同?那些将是我的建议。
答案 1 :(得分:0)
当我进行回发时,该值与回发的值相同。我认为updatepanel没有刷新。我试图做__doPostBack('UpdatePanel1',''),也没办法。