Код MVC в пользовательском контроле дает ошибку:

Я пытаюсь показать продукты, полученные из базы данных, создав пользовательский элемент управления ProductBox и установив в нем параметры, которые будут отображаться из модели. Но следующий блок кода показывает необработанное исключение: strUrl не существует в текущем контексте.

Я совершенно новичок в MVC. Можете ли вы помочь мне определить, где пропущена скобка? Вот мой код из пользовательского элемента управления ProductBox.

<%@ Control Language="C#"  Inherits="System.Web.Mvc.ViewUserControl<TSRApp.UI.Models.ProductBox>" %>
<%@ Import Namespace="TSRApp.UI.Helpers" %>
<%@ Import Namespace="TSRApp.Contracts.Common.OperationalContracts" %>

<% string strStartTag = "<div class=\"fl book-shaddow\">";
string strEndTag = "</div>";
if (Model.IsFeatured)
{
   strStartTag = "<li " + Model.LiID + " >";
   strStartTag = strStartTag + "<div class=\"book-shaddow\">";
   strEndTag = "</div></li>";
}
if (Model.ProductName.Length > 40)
{
   Model.ProductName = Model.ProductName.Substring(0, 37) + " ...";
}
if (string.IsNullOrEmpty(Model.ProductZoomImage))
{
   if (!string.IsNullOrEmpty(Model.ProductSmallImage))
   {
       string strZoomImage =    Model.ProductSmallImage.Substring(Model.ProductSmallImage.IndexOf("src=")).Replace("src=\"", "");
       strZoomImage = strZoomImage.Substring(0, strZoomImage.IndexOf("\""));
       Model.ProductZoomImage = strZoomImage;
   }
   else
   {
       Model.ProductZoomImage = Model.ProductSmallImage.Replace("~", "");
   }
}
string strURL = string.Empty;
strURL = "/Product/Information/" + Model.ProductCode;

%>
<%= strStartTag %>
<% if(UiHelper.GetDeviceID()!=4)
{ 
%>
<a href="<%=strUrl %>"></a>
<%
}
%>
<% if (!string.IsNullOrEmpty(Model.ProductSmallImage))
  { 
%>
<%= Model.ProductSmallImage%>
<% 
  }
%>
<img src="<%=Model.ProductSmallImage %>" alt="<%= Model.ProductName %>" 
style="height: 200px; width: 170px" />

<%= strEndTag %>

Пожалуйста, помогите мне решить эту проблему. Благодарю.

1 ответ

C# чувствителен к регистру. + Изменить <%=strUrl %> в <%=strURL %> и тебе должно быть хорошо идти.

Другие вопросы по тегам