[英]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.