用户控件中的MVC代码给出错误:

时间:2013-12-05 13:33:01

标签: asp.net-mvc c#-4.0 viewusercontrol

我试图通过创建用户控件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 个答案:

答案 0 :(得分:1)

C#区分大小写。将<%=strUrl %>更改为<%=strURL %>,您应该好好去。