【问题标题】:Checking value in database on link click单击链接时检查数据库中的值
【发布时间】:2011-07-11 11:05:29
【问题描述】:

我在我的 asp.net MVC3 Razor 视图中有一个 href,我想检查是否点击了这个 razor 视图:

如果数据库中存在记录,如果存在,则显示警报,否则在页面上打印一些值。

链接html是这样的:

<a class="orphan item subtext" href="#" id="lnkfreereport">
    <span>
       Order Your Free Report
    </span>
</a>

请建议我如何使用 asp.net MVC 做到这一点

【问题讨论】:

    标签: javascript jquery asp.net asp.net-mvc-3 razor


    【解决方案1】:

    请参考AjaxHelper类的ActionLink方法

    http://msdn.microsoft.com/en-us/library/dd493106.aspx

    【讨论】:

      【解决方案2】:

      AJAX?

      @Html.ActionLink(
          "Order Your Free Report", 
          "CheckExists", 
          "SomeControllerName",
          null,
          new { id = "checkExists" }
      )
      

      然后在一个单独的 javascript 文件中:

      $(function() {
          $('#checkExists').click(function() {
              $.getJSON(this.href, function(result) {
                  if (result) {
                     alert('the record exists');
                  }
              });
              return false;
          });
      });
      

      然后你可以有一个控制器动作来检查给定的记录是否存在并返回 JSON:

      public ActionResult CheckExists() 
      {
          bool exists = ...
          return Json(exists, JsonRequestBehavior.AllowGet);
      }
      

      【讨论】:

      • @Drain: 我应该把这个 javascript 文件放在哪里,我应该把它的路径放在哪里?
      • @DotnetSparrow,您将它放在 Scripts 文件夹中的一个单独的 javascript 文件中,然后在您的页面上像这样引用它:&lt;script src="@Url.Content("~/Scripts/myscript.js")" type="text/javascript"&gt;&lt;/script&gt;
      • 我尝试了 return Json(exists, JsonRequestBehavior.AllowGet);在操作方法中,当我运行并单击链接时,它说:“您要打开还是保存 CheckExists(来自本地主机的 4 个字节)”
      • @DotnetSparrow,您注意到我的 .click 处理程序末尾的 return false 了吗?这将取消作为标准重定向的锚点的默认操作并执行 AJAX 请求。还要确保您引用了 jQuery,并且为锚点生成的 HTML 看起来像这样:&lt;a href="/SomeControllerName/CheckExists" id="checkExists"&gt;Order Your Free Report&lt;/a&gt;。还要确保正确找到您包含的脚本。
      • 我已经补充说即使这样我也得到了这个
      猜你喜欢
      • 2022-11-30
      • 2017-10-05
      • 2017-08-22
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 2017-04-20
      相关资源
      最近更新 更多