【问题标题】:How Do I Update My Html Form Without Refreshing Page In ASP.net?如何在不刷新 ASP.net 页面的情况下更新我的 Html 表单?
【发布时间】:2015-09-17 22:57:42
【问题描述】:

我已经尝试了很长一段时间的解决方案,但没有成功,所以我来这里询问。

我有一个 ASP.net Web 应用程序,我从数据库中获取信息并将该信息以表单形式放在 html 页面上,效果很好。我还有一个搜索功能,效果很好。

但每次我搜索它都会重新加载整个页面。我知道我应该使用 JQuery...不知何故...但我真的不明白如何将它应用到我的代码中。

<div class="tab-content">
    <div id="log" class="tab active">
        <h1>Log</h1>
        @using (Html.BeginForm())
        {
            <p>
                <b>Message:</b> @Html.TextBox("SearchString")
                <input type="button" value="Search" onclick="submit()"/>
            </p>
        }
        @RenderBody()
        @Html.Raw(ViewBag.Data)
    </div>
</div>

【问题讨论】:

  • 你读过关于 AJAX 的文章吗?
  • 您可以尝试查看UpdatePanel,它可以让您在 ASP.NET 中进行部分页面更新。 (它使用 AJAX,但会为您处理很多东西。)
  • AJAX 是最常用的技术。在客户端,既然你想使用jQuery,那么你可以使用jQuery's AJAX helpers。在服务器端,您需要为服务器端功能公开端点。在 ASP.NET 中,最好使用 HTTP 处理程序、通用处理程序 (.ashx) 或 Web API 来完成。我会避开 UpdatePanel,这是一个不好的习惯,知识不能转移到其他框架,而且很难正确实施。
  • @Serlite UpdatePanel,除了反对它的所有其他原因外,在 MVC 中不可用。
  • @mason 是的,我承认我没有立即将 OP 的代码识别为 MVC,因为我以前没有使用过它。

标签: javascript c# jquery html asp.net-mvc


【解决方案1】:

有很多方法可以做到这一点。 简单的方法是使用普通的 jquery 函数来更改字段中的数据。 请参阅下面的示例供您参考。

https://dotnetfiddle.net/zIMk99

$('.submit').click(function(){
  if($('form').valid()) {
    $.ajax({
      url: '@Url.RouteUrl(new{ action="GetAnswer", controller="Home"})',
      data: {Answer: '', Question: $('#Question').val()},
      type: 'POST',
      dataType: 'json',
      contentType: "application/json; charset=utf-8",
      success: function(resp) {
        openAlert(resp);
      }});
  }
  else {
    closeAlert();
  }
});

【讨论】:

  • 我试图让这个答案适用于我的代码,但无法真正让它发挥作用。有什么方法可以更详细地解释所有部分在做什么以及如何将其与我的代码结合起来?
  • 我希望你通过我在 dotnetfiddle.net 中的代码.. 你能在小提琴中重现你的问题,以便我可以尝试解决这个问题..
  • 对不起,我真的很忙另一个问题,今天会处理它! :)
猜你喜欢
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 2019-10-03
  • 2019-11-25
  • 2022-11-27
  • 1970-01-01
  • 2018-03-13
  • 2017-03-24
相关资源
最近更新 更多