首页 > 解决方案 > 如何在 JavaScript 中为另一个 url 动作点击调用动态 id?

问题描述

我的 HTML 代码在这里:

<table>
      <tr>
          <td>
              @Html.DropDownList("Statues", (SelectList)ViewBag.UserType, string.Empty, new { @class = "NewIDCn",@id = "name1" })
          </td>
          <td>
              <a class = "UpdateU" href="@Url.Action("Update", "UserPromoted", new { id = item.UserID})">Update</a>
         </td>
      </tr>
      <tr>
          <td>
               @Html.DropDownList("Statues", (SelectList)ViewBag.UserType, string.Empty, new { @class = "NewIDCn",@id = "name2" })
         </td>
         <td>
               <a class = "UpdateU" href="@Url.Action("Update", "UserPromoted", new { id = item.UserID})">Update</a>
         </td>
     </tr>
</table>

我的剧本在这里,

<script type="text/jscript">
    $(document).ready(function () {
        var i = 0;
        $('.NewIDCn').each(function () {
            i++;
            var newID = 'name' + i;
            $(this).attr('id', newID);
            $(this).val(i);
        });
    });
        $(function () {
            $('.UpdateU').click(function () {
                var name = $('#name').val();
                this.href = this.href + '?UserType=' + encodeURIComponent(name);
            });
        });
</script>

我的控制器在这里:

 public ActionResult Update(string id, string UserType)

         {
                    query = "UPDATE    tblUserRegister SET          UserType = ' " + UserType + "' WHERE     (UserID = '" + id + "')";
                    cmd = new SqlCommand(query, conn);
                    cmd.ExecuteNonQuery();
         }

document.ready函数用于自动递增动态 id name(name1,name2)。当我点击 url 动作时,雕像 id 返回到 usertype functune 中的 id name。我该怎么做呢?并在控制器中返回 id 名称和用户类型?

标签: javascriptasp.netasp.net-mvcasp.net-mvc-4asp.net-mvc-3

解决方案


这可以通过多种方式实现。尝试以下一种:

tr元素添加一些类,如下所示

<table>
    <tr class="t-row">
        <td>
            @Html.DropDownList("Statues", (SelectList)ViewBag.UserType, string.Empty, new { @class = "NewIDCn",@id = "name1" })
        </td>
        <td> <a class="UpdateU" href="@Url.Action(" Update ", "UserPromoted ", new { id = item.UserID})">Update</a> </td>
    </tr>
    <tr class="t-row">
        <td>
            @Html.DropDownList("Statues", (SelectList)ViewBag.UserType, string.Empty, new { @class = "NewIDCn",@id = "name2" })
        </td>
        <td> <a class="UpdateU" href="@Url.Action(" Update ", "UserPromoted ", new { id = item.UserID})">Update</a> </td>
    </tr>
</table>

将您的脚本更改为

 $(document).ready(function () {
    $(document).off("click", ".UpdateU").on("click", ".UpdateU", function (event) {
        var url = $(event.target).attr("href");
        var val = $(this).parents(".t-row").find("select").val();
        var newUrl = url +'?UserType=' + encodeURIComponent(val);
        alert(newUrl );
        event.stopPropagation();
        return false;
    });
});

newUrl将是控制器的 url。


推荐阅读