我试图以这种方式在ASP.NET MVC 2 RC2中使用Html.RenderAction:
在菜单控制器中:
[ChildActionOnly]
public ActionResult ContentPageMenus()
{
var menus = _contentPageMenuRepository.GetAll().WithCulture(CurrentCulture);
return PartialView(menus);
}
Run Code Online (Sandbox Code Playgroud)
在我的索引视图中(对于Home控制器的Index操作):
<% Html.RenderAction("ContentPageMenus", "ContentPageMenu");%>
Run Code Online (Sandbox Code Playgroud)
但我总是收到此错误消息:路由表中的路由与提供的值不匹配.
我正在开发一个ASP.NET MVC 2应用程序,并为我的模型使用一个单独的类库.我在我的类库项目中使用了资源文件来嵌入验证消息并在我的元数据类中使用它,一切都很好,直到我决定在我的项目中添加一种新语言,所以我将Resource.resx重命名为Resource.en-US.resx并且还将其复制并保存为另一种语言的新Resource.fa-IR.resx,但在重命名后,Designer.cs配套文件中的所有内容都已消失,我无法再访问资源文件.一旦我从文件名中删除了语言名称(例如en-US),它就能正常工作.
我已经将Access Modifier设置为Public但没有结果.
我正在使用Visual Studio 2008 SP1.
您对数据访问层有何建议?使用ORM,如Entity Framework和Hibernate OR Code Generators,如Subsonic,.netTiers,T4等?
我尝试使用WCF向REST API提交请求; 这就是我所做的:
namespace Sample
{
[ServiceContract]
[XmlSerializerFormat]
public interface ISampleApi
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "users.xml", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml)]
User CreateUser(User user);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的User
班级:
namespace Sample.Entity
{
[XmlRoot("user")]
public class User
{
[XmlElement("company")]
public string Company { get; set; }
[XmlElement("country-code")]
public string ContryCode { get; set; }
[XmlElement("created-at")]
public DateTime CreatedAt { get; set; }
[XmlElement("email")]
public string Email { get; set; }
[XmlElement("external-identifier")]
public string ExternalIdentifier { get; set; …
Run Code Online (Sandbox Code Playgroud) 我最近开始使用WCF WebApi来创建REST API.我按照CodePlex上的样本和Alex Zeitler的文章系列进行了跟踪.
我尝试创建一个通过POST接受数据的方法,如下所示:
[ServiceContract]
public class AuthenticateApi
{
[WebInvoke(UriTemplate = "", Method = "POST")]
public HttpResponseMessage<LoginModel> Post(LoginModel loginModel)
{
loginModel.IsValidated = true;
return new HttpResponseMessage<LoginModel>(loginModel);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的实体:
public class LoginModel
{
public string Username { get; set; }
public string Password { get; set; }
public bool IsValidated { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
最后这是我在Global.asax中的配置:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapServiceRoute<AuthenticateApi>("login");
}
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用Fiddler以这种方式发布内容时:
Content-Type: …
Run Code Online (Sandbox Code Playgroud)