簡體   English   中英

如何在MVC3中使用c#代碼使標簽可見?

[英]How to make the label visible using c# code in MVC3?

以下是我的視圖頁面中的標簽,

 <label id="back"  onclick="BacktoSubmit()"  style="cursor:pointer; text-decoration:underline; color:Blue; padding-left:670px; visibility:hidden;">Back to list</label>

以下是我的控制器方法,

   public ActionResult TRSkillGradeAvailability(FormCollection frmCollection, string Submit, string Search, string TabType)
    {
        try
        {
            string strLoggedUser = GetLogUser();
            TRSkillGradeAvailabilityModel objTRSkillGradeAvailabilityModel = new TRSkillGradeAvailabilityModel();
            TRSkillGradeAvailabilityModel objTRSkillGradModel = new TRSkillGradeAvailabilityModel();
            TravelReadyCommonModel objTravelReadyCommonModel = new TravelReadyCommonModel();
            string strVertical = string.Empty, strGeo = string.Empty, strGrade = string.Empty, strSkill = string.Empty;
            strVertical = Convert.ToString(frmCollection["ddlVertical"]);
            strGeo = Convert.ToString(frmCollection["ddlGeo"]);
            strGrade = Convert.ToString(frmCollection["ddlGrade"]);
            strSkill = Convert.ToString(frmCollection["ddlSkill"]);
            AssignViewBag(strVertical, strGeo, strGrade, strSkill);


            var button = Submit ?? Search;
            if (button != "Submit")
            {

                if (button == null)
                {
                    button = "Search";
                }
            }
            if (TabType == "1")
            {
                TempData["Tab"] = "1";
                if (button == "Search")
                {                       
                    Label lbl = new Label();
                    lbl.FindControl("back").Visible = true;
                    string strSearchId = string.Empty;
                    strSearchId = Convert.ToString(frmCollection["txtSearch"]).Trim();
                    objTRSkillGradeAvailabilityModel = objTRSkillGradeAvailabilityModel.GetTRPoolData(strVertical, strGeo, strSkill, strGrade, 3, strSearchId, strLoggedUser);
                }
                else if (button == "Submit")
                {
                    if (strVertical == TravelReadyContants.StaticVariable.AllVertical)
                        objTRSkillGradeAvailabilityModel = objTRSkillGradeAvailabilityModel.GetTRPoolData(strVertical, strGeo, strSkill, strGrade, 1, string.Empty, strLoggedUser);
                    else
                        objTRSkillGradeAvailabilityModel = objTRSkillGradeAvailabilityModel.GetTRPoolData(strVertical, strGeo, strSkill, strGrade, 2, string.Empty, strLoggedUser);
                }
            }
            else if (TabType == "2")
            {
                TempData["Tab"] = "2";
                objTRSkillGradeAvailabilityModel = objTRSkillGradeAvailabilityModel.GetMyPoolData(strLoggedUser);
                if (button == "Search")
                {
                    string strSearchId = string.Empty;
                    strSearchId = Convert.ToString(frmCollection["txtSearch"]).Trim();
                    objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty = objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty.FindAll(List => List.AssocId == strSearchId);
                }
                else if (button == "Submit")
                {
                    if (strVertical != TravelReadyContants.StaticVariable.AllVertical)
                        objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty = objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty.FindAll(List => List.Geo == strGeo && List.Vertical == strVertical && List.SkillName == strSkill && List.GradeName == strGrade);
                    else
                        objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty = objTRSkillGradeAvailabilityModel.lstTRSkillGradeAvailabilty.FindAll(List => List.Geo == strGeo && List.SkillName == strSkill && List.GradeName == strGrade);
                }
            }

            GetdropdownValues(ref objTravelReadyCommonModel, ref objTRSkillGradModel, 1, string.Empty);
            objTRSkillGradeAvailabilityModel.LoggedInUser = strLoggedUser;
            objTRSkillGradeAvailabilityModel.lstGeo = objTravelReadyCommonModel.lstGeo;
            objTRSkillGradeAvailabilityModel.lstGrade = objTRSkillGradModel.lstGrade;
            objTRSkillGradeAvailabilityModel.lstSkill = objTRSkillGradModel.lstSkill;
            objTRSkillGradeAvailabilityModel.DefaultGeo = objTRSkillGradModel.DefaultGeo;
            objTRSkillGradeAvailabilityModel.DefaultGrade = objTRSkillGradModel.DefaultGrade;
            objTRSkillGradeAvailabilityModel.DefaultSkill = objTRSkillGradModel.DefaultSkill;

            GetdropdownValues(ref objTravelReadyCommonModel, ref objTRSkillGradModel, 2, strGeo);
            objTRSkillGradeAvailabilityModel.lstVerticals = objTravelReadyCommonModel.lstVerticals;
            objTRSkillGradeAvailabilityModel.DefaultVertical = objTRSkillGradModel.DefaultVertical;

            return View(objTRSkillGradeAvailabilityModel);
        }
        catch (Exception ex)
        {
            ILogManager LogManager = new LogManager();
            var frame = new StackFrame(0);
            LogManager.CallLogging(frame, ex.Message, ex.StackTrace);
            return RedirectToAction("Error", "Common");
        }
    }

在我使用的這種方法中,

     Label lbl = new Label();
     lbl.FindControl("back").Visible = true;

此代碼用於在單擊搜索按鈕時使標簽可見,但它顯示“NullReferenceException” 如何在單擊搜索按鈕時以任何其他方式解決此問題以使標簽可見?

您可以向字符串類型的模型中再添加一個屬性,例如可見

public string Visibility { get; set; }

設置此模型屬性

if (button == "Search")
{
         objTRSkillGradeAvailabilityModel.Visibility = "visible";         
}

else
      objTRSkillGradeAvailabilityModel.Visibility = "hidden";         

並且鑒於

<label id="back" name="back" style="visibility:@Model.Visibility"/>

@Html.Label("", "無效的賬戶 ID 或付款未支付。", htmlAttributes: new { @class = "control-label col", style = "color:#ff0000", hidden="false" })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM