2013-11-26 70 views
0

以下是我認爲網頁的標籤,如何使用MVC3中的c#代碼使標籤可見?

<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'如何解決這個問題的任何方式來使標籤可見時點擊搜索按鈕?

+0

什麼是類 - 標籤?爲什麼你不能直接編輯視圖? – maxs87

回答

0

你可以多一個屬性添加到您的字符串類型的模型像可見

public string Visibility { get; set; } 

設置此模型屬性

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

else 
     objTRSkillGradeAvailabilityModel.Visibility = "hidden";   

,並鑑於

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