标签: mvccontrib

MVC3无法识别Razor View中的MvcContrib命名空间

我正在尝试用MvcContrib来分页Html.Pager(),但我的剃刀视图无法引用正确的命名空间.

控制器还可以:

using MvcContrib.Pagination;
...
public ActionResult List(int? page)
{
    return View(new UserRepository().GetUserList().AsPagination(page ?? 1, 10));
}
Run Code Online (Sandbox Code Playgroud)

但是,观点无法理解:

@using MvcContrib
Run Code Online (Sandbox Code Playgroud)

要么

@Html.Pager((IPagination)Model)
Run Code Online (Sandbox Code Playgroud)

我通过NuGet安装了MvcContrib.我尝试添加MvcContrib,MvcContrib.UIMvcContrib.UI.Html命名空间<pages><namespaces>在web.config中没有运气.我错过了什么?

pagination mvccontrib razor asp.net-mvc-3

11
推荐指数
1
解决办法
4028
查看次数

MVC Contrib是否实现了提高ASP.NET MVC生产力的承诺

我在创建一个新的ASP.NET MVC项目时非常关注.一些教程推荐使用MVC Contrib.如果它实现了使用ASP.NET MVC提高工作效率的承诺,我想获得Stack Overflow社区的意见.基本上MVC Contrib的好处值得为我的应用程序添加另一个漏洞抽象

asp.net asp.net-mvc leaky-abstraction mvccontrib

10
推荐指数
1
解决办法
742
查看次数

MVC Contrib VerificationException

我已阅读此帖,我想使用ControllerExtensions.RedirectToAction方法.但我有System.Security.VerificationException其中说:类型参数'[MyController type]'违反了类型参数'T'的约束.

我的控制器声明如下:

   public class ProductsSearchController : Controller
   {
        ...
   }
Run Code Online (Sandbox Code Playgroud)

请帮帮我.我还尝试从这里下载最新的MvcContrib库.它没有帮助我.

我注意到一个有趣的事实.只有在从单元测试中调用时才会出现此异常.但是从网站上使用时也不例外.但它似乎无法正常工作.当我将对象传递给表达式中的动作时,如下所示:

this.RedirectToAction(x => x.Index(filter))
Run Code Online (Sandbox Code Playgroud)

它只是调用.ToString这个对象!我得到这样的网址:

产品搜索?过滤= WebShop.FinderModel.Filters.ProductsFilter

怎么了?

c# asp.net-mvc mvccontrib

10
推荐指数
1
解决办法
1744
查看次数

如何根据MVCContrib Grid的数据设置行的样式?

我正在修改MVCContrib网格,并坚持如何基于数据格式化网格中的一行数据.

例如,假设我们有一个产品网格,其中每个产品都有数据字段,如名称,价格和已停产.我想强调所有已停产的产品行.

一种解决方法是在客户端使用jQuery将CSS类应用于已停止的单元格为TRUE的那些行,但这似乎是一个脆弱的解决方案.我希望有一种方法可以通过Html.Grid方法调用在服务器端执行此操作.

谢谢

asp.net-mvc mvccontrib mvccontrib-grid

10
推荐指数
1
解决办法
5787
查看次数

MvcContrib网格和复选框

让我说我渲染一个复选框:

@Html.CheckboxFor(x => x.Checked) // Checked is true by default
Run Code Online (Sandbox Code Playgroud)

ASP将把它变为:

<input checked="checked" data-val="true" data-val-required="The field is required." id="Checked" name="Checked" type="checkbox" value="true" />
<input name="Checked" type="hidden" value="false" />
Run Code Online (Sandbox Code Playgroud)

由于ASP为Checkbox输出两个具有相同名称的输入,因此在使用复选框提交表单时,我们在URL中也会获得两个GET参数:

http://...?Checked=true&Checked=false
Run Code Online (Sandbox Code Playgroud)

可以说我也在使用MvcContrib来显示带有排序的表.

当我对列进行排序时,MvcContrib无法理解重复的GET参数,而是写入?Checked=true&Checked=false,而不是写入,?Checked=true%2CfalseMVC3无法将其解析为bool.排序后的错误消息是:

String was not recognized as a valid Boolean.
Run Code Online (Sandbox Code Playgroud)

有没有其他人在MvcContrib网格中遇到过这个问题?

mvccontrib mvccontrib-grid asp.net-mvc-3

10
推荐指数
1
解决办法
1316
查看次数

T4MVC,它已经过时了吗?还好?如果不是还有什么用?

伙计们,

到今天为止我应该在我的项目中引入T4MVC还是使用MvcContrib的强类型?

return RedirectToAction(MVC.MyController.MyAction());
Run Code Online (Sandbox Code Playgroud)

要么

return RedirectToAction<MyController>(c => c.MyAction());
Run Code Online (Sandbox Code Playgroud)

努力坚持标准/主流并保持最新.

我知道,这个网站上有问答,我很想知道什么是最新的和最好的,而不是2年前.

提前致谢.

asp.net-mvc asp.net-mvc-futures mvccontrib t4mvc asp.net-mvc-3

8
推荐指数
1
解决办法
1428
查看次数

便携式区域缺点

对于有便携式区域经验的人,

我想知道使用它们是否有缺点以及为什么使用它们将大型MVC应用程序分解为组件部分.

asp.net asp.net-mvc mvccontrib portable-areas asp.net-mvc-4

8
推荐指数
2
解决办法
4132
查看次数

mvccontrib测试助手并验证http post路由和参数

在我的Asp.net MVC应用程序中,我在控制器上有两个方法,一个用于用户第一次到达视图时,另一个用于在所述视图上提交表单时.

public ActionResult Foo() {}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Foo(string id, Account accountToFoo) {}
Run Code Online (Sandbox Code Playgroud)

在第二个动作中,有一个自定义模型绑定器正在组装我正在处理的帐户对象,尽管这并不重要.这一切都可以在服务器上进行本地测试.

我们尝试编写单元测试以测试所有不同的视图是否正确路由到包括HTTP POST的那些视图.为此,我们一直在使用mvccontrib的测试助手.

测试变得非常简单

"~/account/foo/myusername".
       Route().
       ShouldMapTo<AccountController>(c => c.Foo("myusername"));
Run Code Online (Sandbox Code Playgroud)

我的问题是在测试POST路由时,如何编写用于验证帖子是否正在接收准确值的lambda,类似于上面的GET测试?

对于POST,它看起来像:

"~/account/foo".
         WithMethod(HttpVerbs.Post).
         ShouldMapTo<AccountController>(a => something_something);
Run Code Online (Sandbox Code Playgroud)

这是我的lambda中的某些东西,我遇到了麻烦.使用任意值不起作用("a => a.Foo(0,new Account()").如何将预期值指定为测试的一部分?

编辑 我希望有一些类似于Moq对foo.Setup(s => s.Foo(It.IsAny(),It.Is(i => i> 32))等语句的lambdas的方式等等即使我必须明确提供值,这是可行的 - 我似乎无法理解所需的结构来传递这些显式值.

asp.net asp.net-mvc url-routing mvccontrib

6
推荐指数
1
解决办法
1959
查看次数

可以将页脚添加到MVCContrib网格吗?

我希望我的列标题也是使用MVCContrib网格的页脚.如何添加页脚?

<% Html.Grid(Model).Columns(col =>
{
col.For(c => c.sub_id).Named("Id");
col.For(c => c.name).Named("Name");
col.For(c => c.group).Named("Group");
col.For(c => c.insurance_GL).Named("Insurance").Format("{0:d}");
}).Attributes(id => "list").Render(); %>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc grid mvccontrib mvccontrib-grid

6
推荐指数
1
解决办法
1293
查看次数

使用类似MvcContrib Grid的东西在代码可读性方面倒退了吗?

我的意思是,现在我们已经尽可能地使用现代模板引擎将你的html标记与你的代码分开了(在过去,程序员通常只是在php中连接字符串,这很糟糕.)

然后我看一下同事生成一个html表的代码,它看起来像:

<% Html.Grid(Model).Columns(column => {
    column.For(x => Html.ActionLink("Edit", "Edit", new { id = x.Id })).Attributes(width => "30px").DoNotEncode();
    column.For(x => Html.ActionLink("Delete", "Delete", new { id = x.Id }, new { @class = "delete" })).Attributes(width => "95px").DoNotEncode();
    column.For(x => x.Id).Named("Code");
    column.For(x => x.Name).Named("Name").HeaderAttributes(align => "left");
    column.For(x => x.CPF).Named("CPF");
})
.Attributes(width => "100%", border => "0", cellpadding => "0", cellspacing => "0", @class => "data-table")
.Empty("No users found!")
.RowStart(row => string.Format("<tr class='row{0}'>", row.IsAlternate ? "-alternating" : ""))
.Render();
%>
Run Code Online (Sandbox Code Playgroud)

他认为这很棒,我认为这很难看,所以我想知道更多人的意见.

asp.net-mvc coding-style mvccontrib

6
推荐指数
2
解决办法
2314
查看次数