jQuery教程分享在下拉列表更改时根据db的值更改标签显示名称标签

问题陈述:我想根据我从db获得的显示名称,在MVC的Razor视图中更改标签的显示名称(@ Html.LabelFor)。

我在_Layout.cshtml中添加了语言下拉列表

  • @Html.Action("Index", "LanguageDropdown", new { languageid = Request["languageId"] })
  • 我创建了一个部分视图用于下拉:

     @model ALCMS.Web.Models.Master_or_Configuration.LanguageDropdownModel  function GetLanguage() { var languageId = $('#LanguageId').val(); var Url = "@Url.Content("~/MasterConfigGeneral/GetLanguage")"; $.ajax({ url: Url, dataType: 'json', data: { LanguageId: languageId }, success: function (data) { } }); }  
    @Html.DropDownListFor(l => l.LanguageID, new SelectList(Model.Languages, "Value", "Text"), "Select Language", new { id = "LanguageId" ,onchange="GetLanguage()" })

    部分视图控制器:

     public ActionResult Index(string languageId) { //return View(); var languages = dbEntity.LookupLanguages; var model = new LanguageDropdownModel { LanguageID = languageId, Languages = languages.ToList().Select(l => new SelectListItem { Value = Convert.ToString(l.LanguageID), Text = l.Name }) }; return PartialView(model); } 

    在Controller Json Result方法中:

      public JsonResult GetLanguage(int languageID) { JsonResult jsResult = new JsonResult(); objdbGlobalTenant.ddlLanguage = (from lsr in dbEntity.LocaleStringResources where lsr.LanguageID == languageID select new SelectListItem() { Text = lsr.ResourceValue, Value = lsr.ResourceName }).Distinct().ToList(); //ViewBag.Language = objdbGlobalTenant.ddlLanguage; jsResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet; return jsResult; } 

    现在一切正常。我可以根据语言下拉列表的更改事件在Controller中的Json Result方法中获取所选的langaugeID。 根据这个语言ID,我得到了我需要申请特定视图的显示名称(ResourceValue)。

    问题:

    注意:下拉列表位于Layout.cshtml中(如.aspx中的master)

    怎么做?如果我做错了建议我其他一些方法……

      以下是建议:

      问题1:您可以在每个标签中保留一个属性,以便唯一标识它们。

      您的HTML应该呈现如下

                

      这里label-unique-name是您的属性 ,对于每种语言都将保持固定。 现在,当您从下拉列表中更改语言时,您将带来如下所示的值。

        ;  ;  ; 

      请注意:这只是为了理解,它不是JSON。

      现在使用jQuery遍历每个标签并替换标签的值。 希望它能帮到你。

      问题2:

      您可以在会话中保存所选语言的值,并相应地生成下拉列表。

       @Html.DropDownListFor(l => l.LanguageID, new SelectList(Model.Languages, "Value", "Text"), !string.isNullorEmpty(HttpContext.Current.Sessions["Language"]) ? HttpContext.Current.Sessions["Language"] : "Select Language", new { id = "LanguageId" ,onchange="GetLanguage()" }) 

        以上就是jQuery教程分享在下拉列表更改时根据db的值更改标签显示名称标签相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(猴子技术宅)。

        本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

        如若转载,请注明出处:https://www.ssfiction.com/jqyjc/546503.html

        发表评论

        电子邮件地址不会被公开。 必填项已用*标注