小编mik*_*nne的帖子

如何转换这个web.config部分?

我有以下配置我的邮件:

<system.net>
    <mailSettings>
      <smtp from="foo@bar.com" deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
        <network host="localhost" userName="" password=""/>
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

这是我的.Release版本:

<system.net>
    <mailSettings>
      <smtp from="foo@bar.com" xdt:Transform="RemoveAttributes(deliveryMethod)">
        <network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" />
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

我该如何删除

<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/>
Run Code Online (Sandbox Code Playgroud)

所以它根本没有显示在我的.Release中?

另外,我想System.Diagnostics完全删除其他名称空间.这样做的语法是什么?

c# asp.net web-config

19
推荐指数
2
解决办法
1万
查看次数

在jQuery对话框中的MVC中常用的方法

似乎有几种方法可以将jQuery对话框与ASP.NET MVC集成.是否有一种特定的方法成为普遍接受的最佳实践方法?

作为一个例子:我有一个列表页面,点击任何列出的项目的"编辑"在jQuery对话框中打开一个表单,填充项目的详细信息.用户编辑详细信息并单击"保存".如果保存在服务器端成功,则关闭对话框并使用新数据重新构建列表.如果在服务器端保存失败,则对话框保持打开状态并向用户显示错误消息.

  1. No-JSON方法:每个"编​​辑"链接都是"编辑"控制器操作的HREF.该控制器操作构建一个与"列表"视图相同的视图,此外它还包括一个部分操作来构建编辑表单,填充它,并定义javascript以将其作为jquery对话框弹出."保存"是一个形式的帖子; 如果成功,它会将重定向操作返回到列表页面.如果失败,它将重建整个页面(包括在对话框中弹出的表单),同时显示错误消息.
  2. 全JSON方法:列表页面呈现一个空的编辑表单(隐藏),准备弹出一个对话框."编辑"链接调用本地javascript,它执行ajax请求以获取完整对象(我定义了一个控制器,它将完整对象作为JsonResult返回).成功时,它使用对象的数据填充编辑表单并打开对话框."save"链接调用本地javascript,它将表单数据捆绑到json对象中,并使用该json对象作为有效负载调用post操作(我定义了一个控制器,它需要该对象,尝试保存,并返回一个指示成功的JsonResult /失败+ errorMessages).来自ajax请求的成功回调会评估返回的对象,并在仍然打开的jquery对话框中显示错误消息,或者关闭对话框并重新加载"list"页面以获取列表中的新数据.
  3. [编辑] Ajax-HTML方法:刚刚看到这个SO讨论描述了另一种方法."编辑"调用本地javascript,它执行ajax发布以获取对话框的完整HTML(我会编写一个返回部分视图的控制器:完全填充的表单).它将返回的HTML呈现为jquery对话框,并且还"重新连接"表单提交以执行表单内容的ajax-post(我将编写一个httpPost控制器,与上面的#2相同).成功回调会评估响应并填充错误消息或关闭对话框.
  4. 我还没有想过其他一些很酷的方法?

选项1似乎更符合"纯粹的"ASP.NET MVC.但是,它似乎具有大的HTTP有效负载(因为我们在每个请求时将整个页面发送回浏览器),并且服务器端性能较慢(因为我们在每个请求上重新构建列表).

选项2似乎与更现代的基于Ajax的Web应用程序(更小的HTTP有效负载,更细粒度的操作)更加一致.但是,似乎许多控制器都是JSON控制器,我将编写大量客户端代码来编组来自JSON对象的数据到/从表单字段,显示错误消息等.它似乎也像我我会错过许多很酷的MVC功能,比如EditorFor()和ValidationMessageFor().它只是"感觉"就像我正在使用MVC系统而不是它.

[编辑:添加选项3]选项3似乎是1和2之间的混合.我使用"纯"MVC方法来构建和填充表单,并返回完整格式的HTML FORM标记.将HTML返回到ajax请求感觉很奇怪,因为它很冗长,但我可以克服它.后期操作很好,紧凑的JSON比ajax"感觉"更好.但是,不幸的是,有效负载对象是FormCollection而不是真正的viewmodel对象.看起来我可以使用一些MVC便利(EditorFor())而不是其他(ValidationMessageFor()).

我正在寻找"正确"的方式来做到这一点,而不仅仅是最快的方式来破解它.是的,是的,我知道没有普遍的"正确"方式.但我确信有一些明显错误的方法,我想避免它们.

我在ASP.NET/C#中很有经验,但我对MVC很新.在此先感谢您的帮助!

[编辑] - 杰出的回答 - 我希望我可以奖励多个答案/赏金,因为我发现几个回复非常有用.但是,由于我不能,我将最高投票的答案标记为答案.再次感谢所有受访者!

asp.net ajax asp.net-mvc asp.net-mvc-3

18
推荐指数
1
解决办法
3265
查看次数

如何在ConfigurationSection中包含简单集合

有没有办法让我在ConfigurationSection的自定义子类中包含一个简单的字符串数组或List <string>?(或者简单数据对象的数组或通用列表,就此而言?)

我已经熟悉新的(和非常详细的)ConfigurationSection,ConfigurationElement和ConfigurationElementCollection类,但我还不是专家.

似乎ConfigurationSection应该自己处理简单的集合/列表,而不必为每一个创建自定义的ConfigurationElementCollection子类.但是我没有在网上找到任何关于这种能力的提法.

编辑:接受Dan的回答作为答案,因为它可能是我最接近"旧式"configSections的东西.我总是发现任何XmlSerializable对象都可以很容易地成为一个configSection,它简单,灵活,优雅.我确信新框架更强大; 然而令人遗憾的是,对于简单的配置结构来说,这很麻烦,我们已经减少了回到String.Split().

.net configuration app-config config web-config

14
推荐指数
3
解决办法
2万
查看次数

ASMX相当于Page_Init?

我有一些代码,我希望在调用ASMX函数的生命周期中尽早执行.对于我们的ASPX页面,此代码位于基类的Page_Init()函数中,所有ASPX页面都从该函数继承.

ASMX是否与ASPX的Page_Init()函数等效?

更好的是,是否有像ASPX一样的ASMX生命周期图? http://msdn.microsoft.com/en-us/library/ms178472.aspx

如果有一个ASMX等效于Page_Init(),我假设我可以在一个公共基类中实现代码,我的所有ASMX类都可以从中继承,更正吗?

编辑: 很好的回应 - 感谢您的帮助!

asp.net page-lifecycle asmx

10
推荐指数
1
解决办法
3392
查看次数

我可以在.NET 4应用程序中使用WSE3,与旧的Web服务进行通信吗?

我有一个.NET 3.5库程序集,它使用WSE 3.0与外部Web服务进行通信.我们将系统升级到.NET 4,但外部Web服务将保持不变.(编辑:不确定它是否相关,但外部Web服务是用Java实现的)

为了尽可能快地完成迁移过程,除非绝对必要,否则我不想更改系统代码.一旦我将系统更新到.NET 4,WSE3库是否仍然可以工作?

我已经看到几个问题表明我们不应该再使用WSE来构建web服务(参见下面的参考资料).但是,我将它纯粹用作客户端,与外部Web服务进行通信,因此我对它是否有效感到困惑.

参考文献:

.net wcf wse .net-4.0

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

如何使整个jqGrid禁用/只读

如何使整个jqGrid禁用/只读?

我有一个带有逻辑"编辑部分"的页面,当用户选择要编辑的内容时我会显示该页面,并在用户完成编辑(保存或取消)时隐藏.在显示编辑部分时,我禁用了页面上的其他几个元素.我想禁用他们点击jqGrid的能力,因此他们无法更改所选行,重新排序等.但我找不到一种方法来禁用/启用整个网格.

如果已经回答了这个问题,请道歉 - 其他问题似乎集中在仅禁用jqGrid中的某些行为.

编辑:最好,我想要一种不依赖于另一个第三方插件的方法.当然,他们没有错!但是我的客户对它们有一定程度的不情愿,所以使用纯粹的jQuery/jQueryUI/jqGrid解决方案我的生活会更容易一些.:)

asp.net jquery jquery-ui jqgrid

3
推荐指数
1
解决办法
5264
查看次数

为每个Model CRUD操作分离ASP.NET MVC View对象?

我一直在阅读的大多数MVC教程似乎为每个模型创建了4个View对象.例如,如果我的模型是"Foo",则似乎有4个.cshtml文件:Foo/Create,Foo/Delete,Foo/Details和Foo/Edit.使用VisualStudio"scaffolding"帮助程序也可以.

这真的被认为是MVC的最佳实践吗?让4个类彼此相同的80-90%是错误的.当我向Foo添加一个新字段时,我需要编辑所有4个.cshtml文件.这种双重维护(四维护理?)只是让我的OO皮肤爬行.

请告诉我:是否有预期/接受的最佳实践以不同方式处理此问题?或者,如果这真的被接受为最佳实践,请告诉我为什么四维不应该让我感到不安.

我是一位相当熟练的ASP.NET/c#/ OO设计老手,但对于MVC来说还是个新手; 如果这是一个菜鸟问题,请道歉.在此先感谢您的帮助!

编辑:感谢所有的回复!我标记了最彻底的一个作为答案,但赞成所有有用的.

asp.net asp.net-mvc

3
推荐指数
1
解决办法
1733
查看次数

NHibernate 2.1.2与.NET 4兼容吗?

我正在寻找"阻力最小的路径"(尽可能减少代码更改),将当前的.NET 3.5系统更新为.NET 4.系统目前使用NHibernate 2.1.2.该版本是否可以在.NET 4下运行,还是必须作为迁移的一部分更新到NHibernate 3?

如果这个问题已在其他地方得到解答而道歉 - 由于某种原因(可能是PEBKAC)我找不到NHibernate版本的特定发行说明和兼容性说明.

.net nhibernate .net-4.0

2
推荐指数
1
解决办法
869
查看次数

设置DIV高度,使文本不会水平切割或切片

是否有任何JS/CSS/jQuery魔法可以识别div中内容的最后一个可见位是否被切断,并略微增加/减少DIV的高度以防止切断文本?

我们的系统允许用户输入包含XHTML的"元素"(使用Telerik Edit控件).我们有一个ElementList页面,其中显示了所有用户输入的元素.但是,由于用户输入的XHTML可能非常大,因此在列表页面上我们只想显示每行的前3行.所以我将包含XHTML的DIV设置为等于3行文本的特定高度,并设置overflow:hidden.到现在为止还挺好.

但是,由于用户可以输入XHTML,因此可以使用填充(或以其他方式偏离标准文本高度)创建表.由于高度和溢出的组合:隐藏,这些单元格中的文本似乎是水平切片.我们的要求人不喜欢这个样子; 但当然我们不能限制最终用户可编辑的XHTML.

这是一个JSFiddle问题的例子.

这个问题不是重复的:

这个问题让我感到非常困惑 - 我希望SO社区可以帮助我!

更新:

最终,我怀疑使用HTML/JS/jQuery无法解决这个问题.实际上,您可以制作一个表(或一系列DIV),其中顶部边距逐渐增加,这样就无法避免切割其中至少一个.

感谢所有人的回复.我将其中一个作为答案,因为在我看来,这是一个特别简单/优雅的解决方法.

html javascript css jquery

2
推荐指数
1
解决办法
5535
查看次数