I have these actions:
我有這些行動:
public class HomeController : Controller
{
public ActionResult Index ()
{
ViewData ["Message"] = "Welcome to ASP.NET MVC on Mono!";
return View ();
}
public ActionResult Pages (string test)
{
ViewBag.Message = test;
return View ();
}
}
The pages action is not working. I get an error 500:
頁面操作無效。我收到錯誤500:
System.TypeLoadException
Could not load type 'System.Web.UnvalidatedRequestValuesBase' from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): System.Web.Mvc.
Exception stack trace:
at System.Web.Mvc.FormValueProviderFactory.GetValueProvider (System.Web.Mvc.ControllerContext controllerContext) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider (System.Web.Mvc.ControllerContext controllerContext) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerBase.get_ValueProvider () [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.GetParameterValue (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ParameterDescriptor parameterDescriptor) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.GetParameterValues (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionDescriptor actionDescriptor) [0x00000] in <filename unknown>:0 at System.Web.Mvc.Async.AsyncControllerActionInvoker+<>c__DisplayClass21.<BeginInvokeAction>b__19 (System.AsyncCallback asyncCallback, System.Object asyncState) [0x00000] in <filename unknown>:0
If I remove the parameter from that action is working fine.
如果我從該操作中刪除參數工作正常。
Any ideas?
有任何想法嗎?
Thanks in advance!
提前致謝!
p.s. I don't have any routes defined yet.
附:我還沒有定義任何路線。
7
Using newest mono(3.6.1) doesn't resolve issue. What helps is: If you're using 5.X NuGet Microsoft ASP.NET MVC package, downgrade to MVC 4 is required.
使用最新的單聲道(3.6.1)無法解決問題。有用的是:如果您使用的是5.X NuGet Microsoft ASP.NET MVC軟件包,則需要降級到MVC 4。
System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc
in /Views/Web.Config in factoryType
attribute of host
node to 4.0.0.0. So line looks like this:<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
webpages:Version
to 2.0.0.0 in Root directory/Web.Config so it looks like this: <add key=”webpages:Version” value=”2.0.0.0” />
Then you can use parameters in controller actions.
然后,您可以在控制器操作中使用參數。
1
This is embarrassing, but here is my workaround until Mono updates System.Web:
這是令人尷尬的,但這是我的解決方法,直到Mono更新System.Web:
public ActionResult Index() //string app_id, string session_id, int surah_id, int ayat_id)
{
string app_id = Request["app_id"];
string session_id = Request["session_id"];
int surah_id = Int32.Parse(Request["surah_id"]);
int ayat_id = Int32.Parse(Request["ayat_id"]);
// ...
}
1
I got the same error as OP in my MVC
-project. (Currently using Xamarin
on a Mac
) I'm using Microsoft Exchange WebServices, and I found out that downgrading this package solved my problem. I downgraded the Microsoft.Exchange.Webservices
package from 2.2
to 1.2
.
我在MVC項目中遇到了與OP相同的錯誤。 (目前在Mac上使用Xamarin)我正在使用Microsoft Exchange WebServices,我發現降級此軟件包解決了我的問題。我將Microsoft.Exchange.Webservices包從2.2降級到1.2。
本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2014/02/17/7256fbd599c6d22ea68da6adab5a0ab9.html。