是否可以跳过整个动作方法执行并ActionResult在满足某个条件时返回特定的OnActionExecuting?
我在actionfilter中的第一个请求中将值放入TempData.
filterContext.Controller.TempData["value"] = true;
Run Code Online (Sandbox Code Playgroud)
之后第二个请求进来,我检查了值
filterContext.Controller.TempData.ContainsKey("value")
Run Code Online (Sandbox Code Playgroud)
价值就在那里.然后第三个请求进来,我再次检查该值
filterContext.Controller.TempData.ContainsKey("value")
Run Code Online (Sandbox Code Playgroud)
而且价值仍然存在.在第二次请求后,这个值不应该被销毁吗?所有请求都是AJAX请求.
我在某些模型中使用了一个子模型类(UserInfo),它应包含一些与用户相关的信息.例如,该子模型可用于各种模型
public class Model
{
int string Value { get; set; }
public UserInfo User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个模型绑定器并在WebApiConfig中注册了它
config.BindParameter(typeof(UserInfo), new UserModelBinder());
Run Code Online (Sandbox Code Playgroud)
问题是WebApi处理管道没有调用UserModelBinder.似乎没有为子模型调用这些模型绑定器.我错过了什么吗?
我有两个测试.第一次测试成功通过.然后在第二个测试中有一个url方法调用,但它不会更改浏览器中的url.
wdio.conf.js中的baseUrl设置为http://localhost/web/es/index.html#
测试:
var assert = require('assert');
describe('user login ', function(){
it('user login', function(){
browser
.url('/system/login')
.setValue('[name="username"]','test')
.setValue('[name="password"]','test')
.click('=Potvr?');
assert(browser.waitUntil('=test test'));
});
it('user form', function(){
browser
.url('/user/form');
});
});
Run Code Online (Sandbox Code Playgroud)
在第一次测试/ system/login中正确打开.但在第二次测试中,网址永远不会更改为/ user/form
我刚开始使用webdriverio所以我错过了什么?
我将我的ASP.NET MVC应用程序部署到我的本地IIS(同一台计算机),我得到了
HTTP 401.0 - Unauthorized
Run Code Online (Sandbox Code Playgroud)
通过浏览器访问应用程序后.
我正在使用表单认证,并且在开发服务器上它工作正常.
我解决了一个默认的ASP.NET MVC项目,它的工作正常,所以它必须是与应用程序相关的东西.有没有办法获得有关此特定错误的更多信息?任何日志文件或其他东西.HTTP 401.0 - 未经授权的消息并非真正有用.
在Windows 7,IIS 7.5和Windows Server 2008 R2 IIS 7.5上测试
编辑
找到一些日志c:\ inetpub\logs\LogFiles\W3SVC1 \但没有任何东西.
我有一个返回DataRow对象的action方法.不幸的是,webapi序列化程序没有正确地序列化对象.有没有我可以为这种特定类型放置自定义序列化代码的地方?
一旦表格宽,然后包含容器,我需要显示滚动条.我在容器上设置属性autoScroll:true,但它不起作用.反正有没有得到我需要的结果?
这是工作示例
代码
Ext.create('Ext.container.Viewport', {
layout: {
header: false,
type: 'border',
padding: 0
},
items: [{
region: 'north',
padding: '0 150 0 150',
height: 36,
html: 'header'
}, {
id:'mainPanelContainer',
autoScroll: true,
padding: '0 150 0 150',
region: 'center',
items:[
{
xtype:'form',
items:[{
xtype: 'container',
flex: 1,
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
anchor: '95%',
xtype: 'htmleditor',
fieldLabel: 'Popis',
name: 'Description',
height: 240,
width: 450 …Run Code Online (Sandbox Code Playgroud) 我正在使用Ext Js MVC方法构建应用程序.
我在一个商店的不同视图上有几个组合.该存储设置为query:remote和autoLoad:false并从服务器加载其数据.
每次我更改视图(旧视图被破坏)并展开组合时,商店将重新加载其数据.有没有办法强制商店只加载一次数据?当商店一旦加载,即使绑定的组合被破坏,它也不会再次重新加载.
我正在商店配置中直接设置我的字段.
Ext.define('T.store.Users', {
extend: 'Ext.data.Store',
autoLoad: false,
fields: [
{ name: 'Id', type: 'int' },
{ name: 'Name', type: 'string' }
]
});
Run Code Online (Sandbox Code Playgroud)
是否可以在商店中直接为这些字段设置idProperty?我看到的唯一选择是创建一个包含idProperty的单独模型类.但我想避免这种情况.
我有 ASP.NET MVC 应用程序,我在其中注册了一个具有InstancePerHttpRequest作用域的组件。
builder.RegisterType<Adapter>().As<IAdapter>().InstancePerHttpRequest();
Run Code Online (Sandbox Code Playgroud)
然后我有一段异步代码,我正在解析适配器组件。
下面的代码是简化的
Task<HttpResponseMessage> t = Request.Content.ReadAsMultipartAsync(provider).ContinueWith(t =>
// IHandleCommand<T> takes an IAdapter as contructor argument
var h = DependencyResolver.Current.GetServices<IHandleCommand<T>>();
);
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出异常: The request lifetime scope cannot be created because the HttpContext is not available.
所以我对这个主题做了一些研究,找到了这个答案 /sf/answers/606411501/
然后我将解析代码调整为此
using (var c= AutofacDependencyResolver.Current.ApplicationContainer.BeginLifetimeScope(x => x.RegisterType<DataAccessAdapter>().As<IDataAccessAdapter>).InstancePerLifetimeScope()))
{
var h = DependencyResolver.Current.GetServices<IHandleCommand<T>>();
}
Run Code Online (Sandbox Code Playgroud)
但例外情况保持不变。 The request lifetime scope cannot be created because the HttpContext is not available.
我错过了什么吗?
asp.net-mvc ×3
extjs ×3
autofac ×1
extjs-mvc ×1
iis ×1
javascript ×1
tempdata ×1
webdriver-io ×1