Tag: asp.net mvc 3

创建文件下载链接MVC3 Razor视图与模型

我试图在我的视图中创建链接,以便最终用户可以下载我的模型中的文件。 在Internet Explorer中我可以右键单击并从链接下载,但我无法左键单击(它不会打开文件)。 当我点击它不知道如何打开这个地址的文件时,Firefox给我一条消息,因为协议(d)与任何程序都没有关联。 以下是我创建链接的方式。 @{ foreach (var EpubFile in item.files) { if(File.Exists(System.Configuration.ConfigurationManager.AppSettings[“UploadFileDirectory”] + EpubFile.FileReference)) { string link = System.Configuration.ConfigurationManager.AppSettings[“UploadFileDirectory”] + EpubFile.FileReference; @EpubFile.OriginalFileName } } }

OnActionExecuting导致无限重定向处理会话超时

我试图在我的BaseController中使用OnActionExecuting来处理重定向到LogOn屏幕,如果用户会话超时。 然而,即使在我登录之前它也会导致无限重定向 – 任何人都可以建议如何绕过这个? 所以在我的Base控制器中我有以下内容: protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (SessionManager.Instance().GetUser() == null) { filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { “Controller”, “Home” }, { “Action”, “LogOn” } }); } base.OnActionExecuting(filterContext); } 所以基本上我有一个会话管理器类可以获取/设置用户等 – 我知道GetUser中的问题也将为null,因为它仅在validation了LogOn后使用我的SetUser方法设置。 但是,而不是让我的其他控制器中的每个方法都检查如下: public ActionResult SomeOtherMethod() { if(SessionManager.Instance().GetUser() != null) { //Go Do Useful View stuff } else { //Redirect […]

MVC3字典没有绑定到模型

我有一个包含字典属性的模型。 (这已从一个较大的项目中提取到这个例子中,我已经确认它仍然有同样的问题) public class TestModel { public IDictionary Values { get; set; } public TestModel() { Values = new Dictionary(); } } 一个控制器 public class TestController : Controller { public ActionResult Index() { TestModel model = new TestModel(); model.Values.Add(“foo”, “bar”); model.Values.Add(“fizz”, “buzz”); model.Values.Add(“hello”, “world”); return View(model); } [HttpPost] public ActionResult Index(TestModel model) { // model.Values […]

Orchard Custom Module – 由NHibernate选择的模型 – 需要虚拟属性

我正在努力在Orchard CMS中构建自定义模块,我有以下控制器操作: public ActionResult Inventory() { var models = _repository.Get(); return View(new MyViewModel() { MyModels = models.ToList() }); } 现在,当Orchard构建它时,会发生exception,因为NHibernate已经选择了MyModel,因为它被视为PartRecord,我不希望它。 方法get_Id应该是’public / protected virtual’或’protected internal virtual’。 我可以在属性中添加虚拟,但我想避免NHibernate在查看此对象时有任何部分,这是不必要的。 我的问题是,如何添加模型,在视图中访问该模型并禁止Orchard将其视为PartRecord? 实际上,我将该模型用于与Orchard DB分开的独立存储库中。 编辑:附加信息 _repository是一个IDbRepository,指向我自己的数据库实例MyModel是我的数据的POCO。 我正在尝试避免将虚拟放在MyModel中的属性上,我将它们放在这里,以说明我试图避免它们的位置。 public interface IDbRepository : IDependency { T Find(long id) where T : class, IActiveRecord; bool Update(T record) where T : class, IActiveRecord; […]

延迟/延迟加载链接不及时?

有人经历过以下情况吗? 使用引用其他实体的字段validation对象会向您发出错误,指出该字段不存在,并且当您调试程序时,您将检查填充字段的实体。 现在这两次发生在我身上,似乎是延迟加载的一些问题,好像延迟加载没有给出足够快的答案。 我们有这个(简化)模型在哪里 class Survey { … public bool Enabled {get; set;} [Required] public virtual OrganisationalUnit OU {get; set;} … } 如果我们只做Context.Surveys.Single(id)或Context.Surveys.Where(s => s.Id == id) ,更改Enabled字段(或任何其他字段),并执行Context.SaveChanges()它将在10次中的9次抛出validation错误,即OU字段是必需的并且它不存在。 添加.Include(s => s.OU)这个问题就解决了,我认为这就是它的结束。 虽然昨天我再次遇到类似的问题,但代码如下: public class SurveyQuestionMultipleChoiceMultiSelect : SurveyQuestionMultipleChoice { public override IEnumerable validateValue(string _, IEnumerable values) { int ivalue; foreach( string value in values) { bool […]

public static,public和static方法有什么区别?

我有一些关于C#方法范围的相关问题,以及ASP.Net中的最佳用例: 在C#中 ,有什么区别: public static方法 public方法 static方法 我正在使用MVC和Web服务 ; 就我的问题#1中的方法范围而言,在每个method scope类型的内存占用情况下会产生什么差异,例如, static会在使用后释放函数内存吗?

在c#mvc中对单选按钮进行分组

我有一个表单,我在其中显示菜单。 每个菜单都有一个部分和选项如下: Starters Prawn Cocktail Soup Mains Beef Lamb 我正在循环浏览该部分的菜单部分和菜单选项,对于每个菜单选项,我想要一个单选按钮,并按部分将它们组合在一起,这样每个部分只能选择一个菜单选项。 默认情况下,将选择顶部选择。 这就是我到目前为止所拥有的 在模型中 public List courses {get; set;} public List options {get;set;} 并在视图中 @for ( int i = 0; i m.MenuCourses[i].CourseTitle ) // loop options for ( int k = 0; k m.MenuOptions[k].Title) //NEED RADIO BUTTON HERE BUT HOW DO I BIND TO THE MODEL? […]

在MVC3中使用ADO.NET MySQL提供程序(无法找到请求的.Net Framework数据提供程序。可能未安装。)

我试图连接到我的Web服务器上的mysql数据库,但我一直得到: Unable to find the requested .Net Framework Data Provider. It may not be installed. 我猜测ADO.NET连接器存在,因为如果我将配置更改为: providerName=”System.Data.SQLClient” 我明白了: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow […]

MVC asp.net序列化如何在Controller动作上为Json对象工作?

MVC asp.net序列化如何在Controller动作上为Json对象工作? 例如,我有一个自定义对象,如果发送带有JSON对象的ajax请求到服务器操作 public ActionResult(List abc) { // Object is serialized automatically how MVC is doing it is the question. } 我之所以这么说是因为我的一些对象没有被正确地序列化,因此存在数据丢失,那么我必须将旧的字符串值方法恢复为serializaiton。 public ActionResult(string abc) { JavaScriptSerializer serializer = new JavaScriptSerializer(); List lstabc = serializer.Deserialize<List>(abc); } 我想避免哪些,其次哪些是做JSON对象序列化MVC Asp.net的最佳库?

ASP.NET MVC 3 – 检测当前页面是否重定向到后重定向获取工作流程

在我的C#.NET 4 MVC 3应用程序中,我有一组用于一组CRUD页面的删除控制器,它使用Post Redirect Get模式在成功删除后重定向到Index控制器。 我想在索引页面上呈现一个按钮,只有当这个页面没有被这样的动作重定向时。 有没有一种简单的方法可以检测当前页面是否被重定向到(即由于PRG重定向而到达)? 阅读http://blog.simonlovely.com/archive/2008/11/26/post-redirect-get-pattern-in-mvc.aspx后,我目前的方法是在DeleteMyEntity方法之后使用DeleteMyEntity在我的删除控制器中设置它成功了: try { MyService.DeleteMyEntity(MyViewModel.MyEntity); TempData[“Redirected”] = true; args = new RouteValueDictionary(new { Foo = 1, Baa = 2 }); return RedirectToAction(“Index”, args); } catch (Exception e) { //Logging etc. – redirect should never be reached on exception (and TempData item not set) throw(e); } 然后在我的索引控制器中,我检查该值是否存在且为真: if (TempData[“Redirected”] […]