zoukankan      html  css  js  c++  java
  • ajax即时修改

    需求:对是否启用进行即时勾选

    实现:

    News602 新华社新闻 Cotroller中:
            /// <summary>
            /// 修改启用不启用  Enabled 
            /// </summary>
            /// <param name="lcid"></param>
            /// <param name="id"></param>
            /// <param name="enable"></param>
            /// <returns></returns>
            [HttpPost]
            public async Task<IActionResult> EditEnable([FromForm]string lcid, string id, [FromForm]bool enable)
            {
                try
                {
                    switch (lcid)   //根据 语言 Lcid 判断
                    {
                        case "2052":
                            {
                                var entity = await _context.News2052.FindAsync(id);
                                entity.Enabled = enable;
                                await _context.SaveChangesAsync();
                            }
                            break;
                        case "1033":
                            {
                                var entity = await _context.News1033.FindAsync(id);
                                entity.Enabled = enable;
                                await _context.SaveChangesAsync();
                            }
                            break;
                        case "1034":
                            {
                                var entity = await _context.News1034.FindAsync(id);
                                entity.Enabled = enable;
                                await _context.SaveChangesAsync();
                            }
                            break;
                        case "1025":
                            {
                                var entity = await _context.News1025.FindAsync(id);
                                entity.Enabled = enable;
                                await _context.SaveChangesAsync();
                            }
                            break;
                        case "1049":
                            {
                                var entity = await _context.News1049.FindAsync(id);
                                entity.Enabled = enable;
                                await _context.SaveChangesAsync();
                            }
                            break;
                    }
                    return Ok();
                }
                catch (Exception)
                {
                    throw;
                }
            }        
    

      

    首先是否启用该字段是bool? 类型 ,得先写一个bool? 类型的模板

    在Shared文件夹下新建 BoolTemplate.cshtml 页面
    
    @model object
    
    @{
        bool value = Convert.ToBoolean(Model);
    }
    
    @Html.CheckBox("", value)
    

     

    在显示视图Index.cshtml页面引入该模板    
      <tbody> @foreach (var item in Model as List<CnpiecNRP.Areas.Maintain.ViewModels.AllNewsViewModel>) { <tr> <td> @Html.HiddenFor(modelItem => item.Nid) @Html.HiddenFor(modelItem => item.Lcid) @if ((ViewBag.searchKeyWord as string[]).Length >= 1) @*多个关键字高亮显示*@
    { var title = item.SourceTitle; var keywords = ViewBag.searchKeyWord as string[]; for (int i = 0; i < (ViewBag.searchKeyWord as string[]).Length; i++) { var current = keywords[i]; title = new System.Text.RegularExpressions.Regex(current).Replace(title, "<span style='background:yellow;font-weight: bold;'>" + current + "</span>"); } @Html.Raw(title); } else { @Html.DisplayFor(modelItem => item.SourceTitle) } </td> <td> @Html.DisplayFor(modelItem => item.SourcePubDate, "MyDatetime") @*时间模板*@
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Enabled, "BoolTemplate")    @*bool? 模板*@ 

    </td>
                    <td>  
                        <a asp-action="Edit" asp-route-id="@item.Nid" asp-route-lcid="@item.Lcid">编辑</a> |
                        <a asp-action="Delete" asp-route-id="@item.Nid" asp-route-lcid="@item.Lcid">删除</a>  |
                        <a class="ContentDetails">展开</a>
                    </td>
                </tr>
                <tr class="Content">
                    <td colspan="4">
                        <h5 style="color:cyan;">详细内容:</h5>
                        <p>@Html.Raw(item.HtmlContext)</p>
                    </td>
                </tr>
            }
        </tbody>
    

      

    显示视图 Index.cshtml 中 ajax 调用
    <script>
    //选择复选框绑定点击事件 $(".table.table-hover tbody tr td input[type=checkbox]").on('click', function () { var $this = $(this); var IsChecked = $(this).is(':checked'); //获取复选框的状态 var id = $(this).parent().siblings().eq(0).find("[name$=Nid]")[0].value; var lcid = $(this).parent().siblings().eq(0).find("[name$=Lcid]")[0].value; //获取 Nid 和 Lcid 的值 $.ajax({ url: "/Maintain/News602/EditEnable/" + id, type: "post", data: { lcid: lcid, enable: IsChecked }, success: function (result, state) { if (state != "success") { alert("修改启用状态失败"); $this.prop("checked", !$this.prop("checked")); } }, error: function (result) { alert("失败"); } }) }) </script>

      

  • 相关阅读:
    某一字段分组取最大(小)值所在行的数据
    【JVM】01虚拟机内存模型
    POJ 1845 Sumdiv (求某个数的所有正因子的和)
    POJ 2992 Divisors (求因子个数)
    POJ 3696 The Luckiest number (欧拉函数,好题)
    POJ 1811 Prime Test (Pollard rho 大整数分解)
    POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)
    POJ 1305 Fermat vs. Pythagoras (毕达哥拉斯三元组)
    POJ 2142 The Balance (解不定方程,找最小值)
    POJ 1006 Biorhythms (中国剩余定理)
  • 原文地址:https://www.cnblogs.com/NICETOMEETYOUSEVEN/p/9359798.html
Copyright © 2011-2022 走看看