我发现Html.BeginForm()自动使用RawUrl(即QueryStringParamters)填充routeValueDictionary.但是我需要指定一个HtmlAttribute,所以我需要使用覆盖...
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string actionName, string controllerName, FormMethod method, object htmlAttributes)
Run Code Online (Sandbox Code Playgroud)
当我这样做时,QueryString值不会自动添加到RouteValueDictionary中.我怎么能做到这一点?
这是我最好的尝试,但它似乎没有起作用.
<% RouteValueDictionary routeValueDictionary = new RouteValueDictionary(ViewContext.RouteData.Values);
foreach (string key in Request.QueryString.Keys )
{
routeValueDictionary[key] = Request.QueryString[key].ToString();
}
using (Html.BeginForm("Login", "Membership", routeValueDictionary, FormMethod.Post, new { @class = "signin-form" }))
{%> ...
Run Code Online (Sandbox Code Playgroud)
我的控制器动作看起来像这样......
[HttpPost]
public ActionResult Login(Login member, string returnUrl)
{ ...
Run Code Online (Sandbox Code Playgroud)
但是,作为QueryString一部分的"returnUrl"的值总是为NULL,除非我在视图中使用默认的无参数Html.BeginForm().
谢谢,贾斯汀
假设我开始使用这个模型:
class Location < ActiveRecord::Base
attr_accessible :company_name, :location_name
end
Run Code Online (Sandbox Code Playgroud)
现在我想将其中一个值重构为关联模型.
class CreateCompanies < ActiveRecord::Migration
def self.up
create_table :companies do |t|
t.string :name, :null => false
t.timestamps
end
add_column :locations, :company_id, :integer, :null => false
end
def self.down
drop_table :companies
remove_column :locations, :company_id
end
end
class Location < ActiveRecord::Base
attr_accessible :location_name
belongs_to :company
end
class Company < ActiveRecord::Base
has_many :locations
end
Run Code Online (Sandbox Code Playgroud)
这一切在开发过程中都很好,因为我一步一步都做得很好; 但如果我尝试将其部署到我的临时环境中,我就会遇到麻烦.
问题是,由于我的代码已经更改以反映迁移,因此在尝试运行迁移时会导致环境崩溃.
还有其他人处理过这个问题吗?我是否已经辞职将我的部署分成多个步骤?
更新似乎我错了; 在迁移同事的环境时,我们遇到了麻烦,但暂存更新没有问题.Mea Culpa.我会将@ noodl的回复标记为埋葬这个的答案,无论如何,他的帖子都是好建议.
我无法编译项目,因为缺少名称空间System.Web.UI和System.Web.Security.当我添加引用时,我只能看到System.Web.ApplicationServices,System.Web.Mvc和System.Web.Services.我在哪里下载缺少的命名空间?
有没有人对核心数据的本地化有任何建议?我的应用程序的信息有时会在两个语言中相同,例如一个人的照片,或者不同的信息,例如该人的传记.
根据我的理解,可以本地化字段名称,但字段值的最佳操作方法是什么?
Chrome中的Mailto 链接完全不起作用(8.0.552.224).
这些链接适用于IE 7和8,Safari和Firefox.
在Chrome中,我们点击了mailto链接(我们现在已经测试了大约25次),而事情只是进入以太网.
在所有其他浏览器中,我们点击mailto链接,他们打开电子邮件客户端(gmail,outlook和其他),我们可以发送电子邮件.
但在Chrome中,我们点击了mailto链接,没有任何反应......
dave@dave-dev:/media/dev/belgravia$ git branch
* (no branch)
master
Run Code Online (Sandbox Code Playgroud)
我不确定这是怎么发生的,但有没有办法可以将无分支合并到主人身上.当其中一个分支不是分支时,我不确定如何合并两个分支.无分支的提交似乎是松散的.我担心这checkout master会导致数据丢失.
如何将stdout重定向到Python中的任意文件?
当从ssh会话中启动长时间运行的Python脚本(例如,Web应用程序)并进行后台处理,并且ssh会话关闭时,应用程序将引发IOError并在尝试写入stdout时失败.我需要找到一种方法来将应用程序和模块输出到文件而不是stdout,以防止由于IOError导致的失败.目前,我使用nohup将输出重定向到一个文件,这就完成了工作,但是我想知道是否有办法在不使用nohup的情况下完成它,出于好奇.
我已经尝试了sys.stdout = open('somefile', 'w'),但这似乎并没有阻止一些外部模块仍然输出到终端(或者sys.stdout = ...线路根本没有发射).我知道它应该使用我测试过的简单脚本,但我还没有时间在Web应用程序上进行测试.
可能重复:
如何在Android中禁用方向更改?
我正在编写一个使用不同内容(活动)的标签的Android应用程序.在其中一个活动中,我想将屏幕方向锁定为"Landscape"模式,但在其他活动中,我想要正常方向(根据传感器).
我现在正在做的是我正在打电话
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
当我切换到横向模式活动时,和
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
Run Code Online (Sandbox Code Playgroud)
当我切换回其他活动时.但是,这似乎不起作用,整个应用程序锁定.这个问题的正常方法是什么?
我是DI/IoC概念的新手,并希望在3层ASP.NET Webforms应用程序中使用Autofac.
我在这里问了一个更普遍的问题.基本上,我想在我的DAL中为每个HttpContext创建一个obejctcontext.但我不想在UI中添加对DAL的引用或直接在DAL中访问HttpContext.我想这就是IoC工具的用武之地.我之前的问题的答案是使用温莎城堡的一个很好的例子.我想使用Autofac作为我的IoC工具,不知道如何实现这一目标.(如何在application_start中访问DAL以注册组件,而我不想在我的UI中引用它,有什么能够在BLL中使用DAL组件和Autofac的正确引用,我应该将BLL注册为具有Autofac的组件太)
很抱歉没有提供明确的问题并请求一些工作示例,但我对整个IoC概念非常不熟悉,我认为我无法在目前的时间限制项目中实现它.
我在想是否有可能有这样的事情:
public class A
{
public void methodA(){}
}
public class B:A
{
}
Run Code Online (Sandbox Code Playgroud)
这样的方式:B没有从A中看到方法A,所以无法调用:
B.methodA()
Run Code Online (Sandbox Code Playgroud)
?
c# ×2
android ×1
asp.net-4.0 ×1
asp.net-mvc ×1
autofac ×1
core-data ×1
git ×1
iphone ×1
layout ×1
localization ×1
migration ×1
orientation ×1
python ×1
stdout ×1
xcode ×1