對不起,問這樣一個簡單的問題,但我失去了很長時間試圖解決這個問題。最後,我決定問你。一個簡單的助手類不起作用
讓我們先從基本代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Navigation.Helpers
{
public static class NavigationBarSE
{
public static MvcHtmlString RenderNavigationBarSE(this HtmlHelper helper, String[] includes)
{
return new MvcHtmlString("Y U no Work??");
//NavTypeSE res = new NavTypeSE(includes);
//String ress = res.toString();
//return new MvcHtmlString(ress);
}
}
}
在原來的形式,這個輔助需要返回由NavTypeSE類產生的字符串。但最後,得到的結果,我只希望它返回一個字符串我...但它並沒有這樣做...
你問之前,我可以說,
<add namespace="Navigation.Helpers"/>
存在於Views文件夾中的Web.config文件中。
有關詳細信息,我NavTypeSE類,如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Navigation.Helpers
{
//Creates a Navigation Menu Type which includes Previous, Next and Validate Buttons
public class NavTypeSE
{
Boolean pr, nt, vld;
Boolean Previous { get; set; }
Boolean Next { get; set; }
Boolean Validate { get; set; }
public NavTypeSE(Boolean Previous, Boolean Next, Boolean Validate)
{
this.pr = Previous;
this.nt = Next;
this.vld = Validate;
}
public NavTypeSE() { }
public NavTypeSE(String[] inc)
{
for(int i=0; i<inc.Length; i++)//foreach (String s in inc)
{
String s = inc[i]; // Don't need for foreach method.
if (s.Equals("previous")||s.Equals("Previous"))
{
this.pr = true;
}
else if (s.Equals("next") || s.Equals("Next"))
{
this.nt = true;
}
else if (s.Equals("validate") || s.Equals("Validate"))
{
this.vld = true;
}
else
{
this.pr = false; this.nt = false; this.vld = false;
}
}
public String toString()
{
return "Previous: " + this.pr + ", Next: " + this.nt + ", Validate: " + this.vld;
}
}
}
而且,在我看來,我把這個助手象下面這樣:
@{
String[] str = new String[] { "Previous", "next", "Validate" };
Html.RenderNavigationBarSE(str);
}
這僅僅是一個項目的基礎。我在C#和ASP.NET MVC平臺上都是入門級的。抱歉花費你的時間。
你正在得到什麼錯誤?不會頁面編譯(因爲它找不到幫助器方法),還是隻是空的,你的字符串不顯示?實際上出了什麼問題? –
與編程無關:你不需要道歉(甚至兩次)提出問題。這是整個網站的基礎:) – hometoast
@RenéWolferink:沒有迴應。沒有錯誤,沒有關於編譯問題。它沒有顯示任何東西!這讓我非常生氣。因爲這個類的另一個版本成功地工作! :) – caner