ASP.NET MVC 为啥提交不了值(当点击Submit按钮的时候也没会刷新,然后文本框里的值就没有了)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET MVC 为啥提交不了值(当点击Submit按钮的时候也没会刷新,然后文本框里的值就没有了)相关的知识,希望对你有一定的参考价值。

没积分了,以后再补上了,谢谢!

这个表单对应的模型是FilmSource的对象吗,如果是你参数应该是FilmSource而不是FormCollection.
你现在写的是必然会被return到当前视图的因为你new的model肯定是没有fsname那个属性的,所以模型验证总是为false。
参考技术A 你的model 是new出来的,那判断是否为空肯定是true吧。先试试form【“你textbox的ID”】看看是否有值,若有值的话可以用这个直接来保存。
你的这个action的参数里面 把这filmsource这个Model参数写进去。再看看这个Model里面是否能获取到值;
参考技术B 把 var model=new filmsorce去掉
参数直接修改成 filmsorce model

为啥我的 ASP.NET MVC 多实例性能计数器不起作用

【中文标题】为啥我的 ASP.NET MVC 多实例性能计数器不起作用【英文标题】:Why is my ASP.NET MVC Multi instance Performance counter not working为什么我的 ASP.NET MVC 多实例性能计数器不起作用 【发布时间】:2012-01-25 11:12:32 【问题描述】:

我无法让我们的多实例性能计数器在 ASP.NET MVC 3 中工作。将其创建为单个实例可以正常工作,并且在简单的控制台应用程序中运行我们的多实例性能计数器代码也可以正常工作。但是当我创建它的多实例并尝试使用 ASP.NET 增加它时,它似乎很困难。

我没有例外。我在 perf mon 中根本看不到任何测量输出。但是,我可以看到 2 个实例。

这是创建性能计数器类别的控制台应用代码:

private const string PERF_COUNTER_CATEGORY_NAME = "MvcPerformance";
private const string PERF_COUNTER_BASE_NAME = "MvcAction_Base";
private const string PERF_COUNTER_NAME = "MvcAction";

static void Main(string[] args)

    if (PerformanceCounterCategory.Exists(PERF_COUNTER_CATEGORY_NAME))
    
        PerformanceCounterCategory.Delete(PERF_COUNTER_CATEGORY_NAME);
    

    CounterCreationDataCollection counters = new CounterCreationDataCollection();

    // Add the counter.
    CounterCreationData avgDuration = new CounterCreationData();
    avgDuration.CounterType = PerformanceCounterType.AverageTimer32;
    avgDuration.CounterName = PERF_COUNTER_NAME;
    counters.Add(avgDuration);

    CounterCreationData avgDurationBase = new CounterCreationData();
    avgDurationBase.CounterName = PERF_COUNTER_BASE_NAME;
    avgDurationBase.CounterType = PerformanceCounterType.AverageBase;
    counters.Add(avgDurationBase);

    // Create the category.
    PerformanceCounterCategory.Create(PERF_COUNTER_CATEGORY_NAME, "Performance counters for MVC!", PerformanceCounterCategoryType.MultiInstance, counters);

那么我们在 ASP.NET MVC 应用程序中的 HomeController 看起来像这样:

    private static readonly Random _Random = new Random();
    private const string PERF_COUNTER_CATEGORY_NAME = "MvcPerformance";
    private const string PERF_COUNTER_BASE_NAME = "MvcAction_Base";
    private const string PERF_COUNTER_NAME = "MvcAction";
    private static PerformanceCounter _MvcActionCounter = new PerformanceCounter
    
        CounterName = PERF_COUNTER_NAME, 
        CategoryName = PERF_COUNTER_CATEGORY_NAME,
        ReadOnly = false,
        InstanceName = "Home_Index",
    ;
    private static PerformanceCounter _MvcActionCounterBase = new PerformanceCounter
    
        CounterName = PERF_COUNTER_BASE_NAME,
        CategoryName = PERF_COUNTER_CATEGORY_NAME,
        ReadOnly = false,
        InstanceName = "Home_Index_Base",
    ;

    public ActionResult Index()
    
        Stopwatch s = new Stopwatch();
        s.Start();
        Thread.Sleep(_Random.Next(1000));
        s.Stop();

        // Increment the performance counters.
        _MvcActionCounter.IncrementBy(s.ElapsedMilliseconds);
        _MvcActionCounterBase.Increment();
        return View(new HomeViewModel  ElapsedTime = s.Elapsed );
    

我可能很容易忘记这件事。也许与权限或用户管理有关?

【问题讨论】:

【参考方案1】:

我的一位同事刚刚给我邮寄了答案。基本计数器的实例名称必须与平均计数器的实例名称相同。

如果您遇到这样的问题,请确保这是您检查的第一件事......可以为您节省大量时间。

【讨论】:

你有没有机会写博客或者为我提供一个简单的示例应用程序?我认为这对性能测试非常有用。

以上是关于ASP.NET MVC 为啥提交不了值(当点击Submit按钮的时候也没会刷新,然后文本框里的值就没有了)的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Validate:在 ASP.NET MVC 5 应用程序中添加事件以提交按钮单击

将表数据映射到 asp .Net MVC 中的 ViewModel 列表

将值传递回控制器时的 ASP.NET MVC 日期时间文化问题

带有 Jquery 模态形式的 asp.net MVC

为啥ASP.net中动态控件在刷新后不能

ASP.NET MVC DropDownList 选择值问题