小编use*_*667的帖子

错误消息"潜在危险的Request.Form值"

我添加了TinyMCE编辑器以HTML格式添加描述,但是当我用HTML编写内容并单击时Add Product它给了我这个错误:

从客户端检测到潜在危险的Request.Form值(Description ="

我试过了:

  1. AllowHtml <=不工作

  2. [HttpPost, ValidateInput(true, Exclude = "Description")] 并得到此错误

System.Web.Mvc.ValidateInputAttribute'不包含Exclude的定义

  1. <httpRuntime requestValidationMode="2.0"> 在web.config中并收到此错误

HTTP错误500.19 - 内部服务器错误无法访问请求的页面,因为页面的相关配置数据无效.

Product.cs

public partial class Product {

     public int productID {get; set;}

     [Required]
     public int Name {get; set;}

     [AllowHtml]
     public string Description {get; set;}

     public string ImagePath {get;set}
}
Run Code Online (Sandbox Code Playgroud)

添加产品视图

@using (Html.BeginForm("AddProduct", "Store", FormMethod.Post, new { enctype = "multipart/form-data",   @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
<h4>Create a new product.</h4>
<hr />
@Html.ValidationSummary(true)
@ViewBag.SizeMsg
<div …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-5

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

从cookie创建和读取列表<>

我正在尝试展示最近浏览过的产品,到目前为止我已经做过了.我有一个Product存储了许多产品的表.我有HomeController一个Details()显示产品细节的Action方法.

我写的AddRecentProduct方法存储了最近浏览过的产品(10)Session

现在我想将这些最近查看的产品列表存储到访问者计算机上至少30天的cookie中,因为会话到期了.就像最近观看的Imdb一样.

另外如果我在数据库中RecentlyViewed使用列创建另一个表,我rv_id, userId, productId将如何在此保存recentViewedList数据?userId列将保存loggedIn用户的id但是如果用户是Guest(未注册)那么解决方案是什么呢?我需要使用GUID吗?

RecentProduct.cs

public class RecentProduct
{
    public int ProductId { get; set; }

    public string ProdutName { get; set; }

    public string ImageUrl { get; set; }

    public DateTime LastVisited { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

调节器

    public void AddRecentProduct(List<RecentProduct> list, int id, string name, int maxItems)
    {
        var item = recentProductList.FirstOrDefault(t => t.ProductId == id);
        if (item == null)
        {
            list.Add(new RecentProduct …
Run Code Online (Sandbox Code Playgroud)

c# cookies asp.net-mvc asp.net-mvc-4

5
推荐指数
1
解决办法
1410
查看次数

使用外键约束从多个表中删除记录

我正在使用Asp.Net MVC并构建电子商务应用程序.

我的数据库中有4个表

Product 其中有 ProductId(PK), Name, Price, StoreId(FK)

Store 其中有 StoreId(PK), Name, CreatedOn

Order 其中有 OrderId(PK), StoreId(FK), OrderDate, OrderTotal

OrderDetail 其中有 OrderDetailId(PK), OrderId(FK), Quantity, UnitPrice, Weight

当我尝试删除单个产品时,它不会给出任何错误并删除产品,如果我删除Order记录它给出了OrderDetails外键的错误,我知道我必须首先删除OrderDetail记录然后删除订单记录.

我的情况是,Store有多个产品,每个商店都有订单,然后订购详细信息.

现在,我不想每次删除单个记录,因为它需要很多时间.我想删除一个STORE,其他表(Product,Order,OrderDetails)中的所有记录也将被删除.我怎样才能做到这一点 ?

我试过这个代码在我的IdentityModel.cs中

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Product>()
            .HasRequired(s => s.Store)
            .WithMany()
            .HasForeignKey(d => d.StoreId)
            .WillCascadeOnDelete(false); // also tried with TRUE, didn't work

        modelBuilder.Entity<Order>()
            .HasRequired(s => s.Store)
            .WithMany()
            .HasForeignKey(d => d.StoreId)
            .WillCascadeOnDelete(false); // also tried with TRUE, didn't work

        modelBuilder.Entity<OrderDetail>()
            .HasRequired(s => s.Order)
            .WithMany()
            .HasForeignKey(d => …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

4
推荐指数
1
解决办法
7620
查看次数