如何避免在回发时从 asp.net 重复输入?

2024-02-24

我有一个从模板表中提取数据的下拉列表。我有一个添加按钮来插入新模板。添加按钮将弹出 jQuery 弹出窗口以插入新值。将有一个保存按钮来保存新数据。 On_Save_Click 我输入新数据并关闭弹出窗口。

问题是这样的:当我刷新页面时,页面再次输入值。所以,我得到了重复的条目!

问题:我怎样才能避免这个问题?我查看了 Satckoverflow 和 Google,他们都建议重定向到另一个页面。我不想将用户重定向到另一个页面。如何使用相同的表格来避免此问题?请帮忙。


您可以使用视图状态或会话来指示数据是否已插入(按下按钮)。

像这样的事情:

private void OnbuttonAdd_click()
{
   if(ViewState["DataInserted"] != "1")
   {
      ...
      // Add new entry...
      ...
      if(data inserted successfully)
      {
         ViewState["DataInserted"] = "1";
      }
   }
}

Edit:

public bool DataInserted
{
    get
    {
        if (HttpContext.Current.Session["DataInserted"] == null)
        {
            HttpContext.Current.Session["DataInserted"] = false;
        }
        bool? dataInserted = HttpContext.Current.Session["DataInserted"] as bool?;

        return dataInserted.Value;
    }
    set
    {
        HttpContext.Current.Session["DataInserted"] = value;
    }
}

...

private void OnbuttonAdd_click()
{
   if(!DataInserted)
   {
      ...
      // Add new entry...
      ...
      if(data inserted successfully)
      {
         DataInserted = true;
      }
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免在回发时从 asp.net 重复输入? 的相关文章

随机推荐