我有一个Web.Api应用程序,它使用来自不同程序集的函数.对于这个程序集,我创建了一个.config文件,我存储了一些字符串.
我使用以下代码来获取其中一个字符串:
private static string LogUrl = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location).AppSettings.Settings["WebApi-LogUrl"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)
Assembly.GetExecutingAssembly().Location指向临时的asp.net文件,(C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\dc2fa3d4\834ee436\assembly\dl3\cd068512)但我的dll.config文件不是在那里复制.结果是我无法调试我的应用程序,并且在真正的IIS服务器上运行代码时它也给出了null.
如果我在获取设置之前设置了一个断点,我可以抓住临时文件夹,当我复制我的dll.config文件时,一切正常,但我应该如何自动完成.
我将我的dll.config文件的属性设置为"构建操作:内容","复制到输出目录:始终"
任何帮助将不胜感激,现在谷歌搜索了几个小时.:(
最诚挚的问候,Peter Larsson!
我是 MVC 的新手,在理解这一点时遇到了一些困难。
为简单起见,我有一个“Person”对象,该对象有一个名为“EmailaddressList”的 IEnumerable 属性。
我已经通过 Visual Studio 2012 生成了一个编辑页面。主要对象属性是在编辑页面上生成的,其中包含 Name 和 LastName 等文本框。
但是,在我看来,IEnumerable 子对象列表中的电子邮件地址列表不是自动生成的。没关系,我已经使用每种类型的电子邮件地址的选项卡手工编写了该代码。
到现在为止还挺好。
问题: 当我在 HTTP-Post 方法中收到模型(person 对象)时,EmailAddressList 为空。为什么会这样,我把它发送到视图时它不为空。列出电子邮件地址的选项卡在局部视图中。任何人都可以给我一些提示,我在这里缺少什么吗?*
查看代码
<div id="tabs">
<ul>
@foreach (var item in Model.EmailAddressList)
{
<li><a href="#@item.AddressType">@Html.Label(item.AddressType)</a></li>
}
</ul>
@foreach (var item in Model.EmailAddressList)
{
<div id="@item.AddressType">
<p>
@Html.TextBoxFor(s => item.EmailAddress, new { @class = "input-xxlarge" })
</p>
</div>
}
</div>
Run Code Online (Sandbox Code Playgroud)
控制器(接收方法) 这里 person.EmailAddressList 为空
[HttpPost]
public ActionResult Create(Person person)
{
if (ModelState.IsValid)
{
personRepository.InsertOrUpdate(person);
personRepository.Save();
return RedirectToAction("Index");
}
else
{ …Run Code Online (Sandbox Code Playgroud)