ASP.NET MVC中是否存在Web窗体中的SiteMap和安全修整功能?
我刚刚开始学习MVC,并且正在寻找一种解决方案,以防止在学习的同时走错路.
asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 mvcsitemapprovider
我有一个由几个部分视图组成的视图,其中一个用Edit
按钮显示用户信息.
Edit
单击该按钮时,我对另一个进行ajax调用Action
,返回一个Partial View
加载到JQuery-UI模式对话框中的调用.
如何通过Ajax提交此编辑表单并更新UserInfo
主页上的部分视图?
我有一种搜索方法,如下所示:
public IEnumerable<Result> Search(string searchText)
{
return _context.Person.Where(x => x.Contains(searchText));
}
Run Code Online (Sandbox Code Playgroud)
我希望能够以searchText
null / empty 调用此函数并获取所有记录。
我没有运气尝试过这个:
return _context.Person.Where(x => x.Contains(searchText ?? ""));
Run Code Online (Sandbox Code Playgroud)
除了将其分为两个步骤并searchString
在将其应用于查询之前检查if语句之外,还有另一种方法来实现此目的吗?
在ASP.NET MVC中,应该在哪里使用视图模型?
这应该在控制器中严格完成吗?或者可以说,从存储库方法返回一个视图模型?
我正在使用servicestack.net库开发Web服务.
在我的场景中,将从WPF应用程序调用Web服务.我需要能够验证只有经过批准的客户端应用程序才能调用我的服务.
这就像在客户端应用程序中硬编码"用户名"和"密码"一样简单吗?这当然不是正确的方法.有没有更好的办法?
编辑 此外,在客户端,用户自己将能够使用用户名/密码登录并向服务发起请求(不确定这是否会影响任何内容,所以我想我会提到它),
我打算使用RavenDB作为我的数据存储来构建单页面应用程序(SPA).
我想从SPA部分的ASP.NET Hot Towel模板开始.
我将删除EntityFramework/WebApi/Breeze组件,并用RavenDB替换存储和ServiceStack来构建后端API.
在RavenDB之上使用任何类型的存储库或其他抽象并且直接在控制器内部(在MVC应用程序中)使用RavenDB API时,大多数当前的观点似乎都不屑一顾
我假设我在使用Raven和ServiceStack时应该遵循同样的智慧,并直接在我的服务实现中对IDocumentSession进行调用.
我担心的是,通过遵循这条路径,我的服务实现似乎会变得相当臃肿.我似乎经常需要多次编写相同的代码,例如,如果我需要更新几个不同的Web服务端点中的用户文档.
我似乎也需要从我的应用程序的其他(未来)部分访问Raven.例如,我可能需要添加一个控制台应用程序,以便将来处理队列中的作业,而这部分应用程序可能需要访问Raven中的数据...但从一开始,我唯一的途径就是通过Raven Web服务API.我是否只打算从这个理论控制台应用程序调用web api?如果它们可能在同一硬件上运行,那么效率似乎很低.
任何人都可以提供有关如何在我的网络服务和其他地方有效利用Raven的建议,同时仍然遵循使用此文档存储的最佳实践?创建一个直接处理针对raven的调用的中间业务逻辑层似乎很实际......允许我的webservices调用此层中的方法.这有意义吗?
编辑
任何人都可以提供类似架构的最新样本吗?
我正在使用 Stripe.net 库来调用 Stripe API。
我想获得各种计划的订阅者总数,但我不确定当前的 API 和/或 Stripe.NET 库是否可以做到这一点。
任何人都可以提供有关这是否可能的任何见解吗?
我意识到这个问题有几个解决方案.我正在寻找一个优雅的方法来解决一些问题的建议..
我正在为我的模型使用Entity Framework.
我需要显示具有分页和排序的数据表作为最小功能.
在切换到MVC之前,在WebForms中,我是jQuery Datatables插件的忠实粉丝.我成功地使用了这个,并使用自定义解析器类来处理分页排序和过滤.我现在遇到了使用EF的这个方法的问题
我的问题是,是否有一种首选的方法来处理MVC中的网格,具有分页和排序功能......
到目前为止,我知道以下可能的解决方案:
jQuery Datatables插件带有一些更自定义的解析器工作(我需要一些帮助,以此开始正确的方向)
jqGrid ..我明白有开源版本和付费版本似乎包含MVC的服务器端解决方案
MVCContrib Grid ...我对此并不了解,我甚至不确定这是否仍然是一个公认的解决方案.
Telerik MVC Controls(如下面的答案所示)......似乎是迄今为止最受欢迎的选择......
我主要担心的是可重用性.我想要一个足够灵活的解决方案来处理我用最少量的自定义代码传入的任何模型/视图模型.我经常遇到这样的情况:我只需要显示特定模型的一些属性,或者需要显示相关类的属性(IE Product.ProductName,Product.ProductCategory.CategoryName)
任何帮助或建议将不胜感激.
编辑
我决定暂时试用Telerik MVC Grid.我对目前正在开发的jQuery-UI Grid寄予厚望.考虑到MS是赞助商,我希望能支持ASP.NET MVC.我从jQuery网站收集的是,他们的网格控件将受到最受欢迎的网格控件的所有最佳方面的启发,包括上面提到的那些.手指交叉......
我有一个视图,我在我的数据库中搜索一个对象(即书籍)..
我对此视图的控制器依赖于实现搜索方法的BooksRepository.
一切正常.我还可以选择进行高级搜索,在模态弹出窗口中显示更大的表单.此表单包含许多字段,包括用于选择要搜索的"作者"的下拉框.
我想authors
在我的viewmodel中传递一个列表,所以在我的控制器中我实例化了我的视图模型的一个实例,我需要调用一个存储库方法来恢复它的列表authors
...
我的想法是这个GetAuthors()方法应该在AuthorRepository中...
将多个repo注入控制器是不好的做法?或者我应该有一个作者控制器注入作者repo ...并从我的BookSearch控制器调用作者控制器中的方法?
我尝试将DateTime对象作为查询字符串参数传递给使用ServiceStack.net构建的Web服务方法.
传递时日期是正确的URL编码但我不断收到以下错误:
"Message":"KeyValueDataContractDeserializer: Error converting to type: String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
有关如何纠正此问题的任何想法?
以下是我传递的URL编码DateTime的示例:2%2f24%2f2012 + 5%3a13%3a02 + PM
嘿伙计们,我有EF课程和评论.
一本书可以有很多评论.
如何搜索包含我的搜索文本的任何评论的图书?
我的方法现在看起来像这样......
public IEnumerable<Book> Search(string commentText)
{
IQueryable<Book> books = _context.Books;
books.Where() //need to filter by commentText here
return books;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 asp.net mvc 中创建一个正则表达式验证属性来验证输入的电子邮件是否具有 .edu TLD。
我已经尝试了以下但表达式永远不会验证为真...
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+edu
Run Code Online (Sandbox Code Playgroud)
和
\w.\w@{1,1}\w[.\w]?.edu
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些见解吗?
我正在尝试使用API密钥构建一个身份验证机制来进行访问.
作为防止中继攻击的预防措施,我使用当前的DateTime对API密钥进行哈希处理并检查服务器端.
使用相同的代码在客户端和服务器上进行哈希,我从两个调用中得到不同的结果.
IE:客户端散列其API密钥并将散列密钥和日期时间"salt"发送到服务器.
服务器获取预期的api密钥并使用客户端发送的日期时间进行哈希处理.
我的哈希永远不会匹配(客户端哈希!=服务器哈希).
这只发生在我在单独的机器上运行客户端和服务器时(实际上另一个开发人员正在尝试编写客户端部分)
当我在本地计算机上测试时(运行客户端和服务器部分以及尝试身份验证),一切正常.
问题 给定相同的输入,.NET SHA256Managed类ComputeHash方法在不同的计算机上运行时会返回不同的结果吗?
c# ×12
asp.net ×7
asp.net-mvc ×7
.net ×5
servicestack ×3
linq ×2
cryptography ×1
hash ×1
jquery ×1
nosql ×1
ravendb ×1
regex ×1
security ×1
stripe.net ×1