小编ETF*_*fax的帖子

Html.DropDownList - 禁用/只读

在使用MVC Html.DropDownList时,我需要设置什么选项才能只读下拉框?

我尝试过......

Html.DropDownList("Types", Model.Types, new { _Enabled = "false" })
Run Code Online (Sandbox Code Playgroud)

......沿着这条线路有很多不同的东西; 唉,没有快乐!

我认为这将是一个简单的.....它可能是!

asp.net-mvc

63
推荐指数
3
解决办法
16万
查看次数

实体框架:查询子实体

我正在学习实体框架,我遇到了问题!

有人可以澄清我是否正确地认为我无法从数据库中获取父母及其子集的子集?

例如...

db.Parents
.Include(p => p.Children)
.Where(p => p.Children.Any(c => c.Age >= 5))
Run Code Online (Sandbox Code Playgroud)

这将返回所有有5岁以上孩子的父母,但如果我遍历Parents.Children集合,所有孩子都将在场(不仅仅是5岁以上的孩子).

现在查询确实对我有意义(我已经要求包含子项,我已经得到了它们!),但可以想象我想在某些场景中将where子句应用于子集合.

问题:

  1. 我说的是对的吗?
  2. 是否有可能从数据库中获取父项和一个子集而无需对数据库进行大量调用?
  3. 我离开了标记吗?(不会是第一次)!!!!

我找到了一些关于这个主题的博客和SO帖子,但没有什么能够解释我的小脑袋.

编辑

读过这个博客(感谢Daz Lewis).......我仍然没有得到它!

在博客中给出的示例中,我可以看到如何针对单个Parent实例实现它,但我正在努力弄清楚如何使用集合来实现它.

我怎么能得到一个IEnumerable,其中每个父母都有一个过滤的儿童集合(年龄> = 5)?

进一步澄清:

在回答DonAndre的评论时,我追问的是a)有5岁以上孩子的父母名单(仅包括那些孩子).

任何帮助,赞赏,

谢谢.

linq-to-entities entity-framework entity-framework-4.1

45
推荐指数
2
解决办法
5万
查看次数

Uri.EscapeDataString() - 无效的URI:Uri字符串太长

我在Windows Mobile上使用紧凑框架/ C#.

在我的应用程序中,我通过序列化对象并使用HttpWebRequest/POST请求将数据上传到服务器来上传数据.在服务器上,后置数据被反序列化并保存到数据库.

前几天我意识到我在帖子数据(&符号等)中遇到了特殊字符的问题.所以我在方法中引入了Uri.EscapeDataString(),一切都很顺利.

但是,今天我发现当应用程序尝试上传大量数据时出现问题(我不确定此刻究竟表示"大"的是什么!)

现有代码(种类)

var uploadData = new List<Things>();

uploadData.Add(new Thing() { Name = "Test 01" });
uploadData.Add(new Thing() { Name = "Test 02" });
uploadData.Add(new Thing() { Name = "Test with an & Ampersand " }); // Do this a lot!!

var postData = "uploadData=" + Uri.EscapeDataString(JsonConvert.SerializeObject(uploadData, new IsoDateTimeConverter()));
Run Code Online (Sandbox Code Playgroud)

问题

对Uri.EscapeDataString()的调用导致以下异常:

System.UriFormatException:无效的URI:Uri字符串太长.

有没有其他方法来准备上传数据?

据我所知,HttpUtility(它有自己的Encode/Decode方法)不适用于紧凑的框架.

c# uri compact-framework exception-handling httpwebrequest

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

MVC:覆盖默认的ValidationMessage

在MVC的世界里,我有这个视图模型......

public class MyViewModel{

[Required]
public string FirstName{ get; set; }    }
Run Code Online (Sandbox Code Playgroud)

......在我看来......这种事情......

<%= Html.ValidationSummary("Please correct the errors and try again.") %>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
Run Code Online (Sandbox Code Playgroud)

我的问题:如果我提交此表单而不提供名称,我会收到以下消息"FirstName字段是必需的"

好.所以,我去改变我的财产......

[DisplayName("First Name")]
[Required]
public string FirstName{ get; set; }    
Run Code Online (Sandbox Code Playgroud)

..现在得到"名字字段是必需的"

到目前为止都很好.

所以现在我想要错误信息显示"名字Blah Blah".如何覆盖默认消息以显示DisplayName +"Blah Blah",而不是用类似的东西注释所有属性

[Required(ErrorMessage = "First Name Blah Blah")]
Run Code Online (Sandbox Code Playgroud)

干杯,

ETFairfax

asp.net-mvc html-helper data-annotations

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

无法加载DLL'mqrt.dll'

我开发了一个WCF服务,它作为Windows服务托管并公开了一个MSMQ端点.

我在SERVER1上有客户端应用程序,在SERVER2上有MSMQ和WCF服务.

当SERVER1/ClientApp尝试将消息推送到SERVER2 MSMQ时,我得到以下错误:

    System.TypeInitializationException: The type initializer for 'System.ServiceModel.Channels.Msmq' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'mqrt.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
       at System.ServiceModel.Channels.UnsafeNativeMethods.MQGetPrivateComputerInformation(String computerName, IntPtr properties)
       at System.ServiceModel.Channels.MsmqQueue.GetMsmqInformation(Version& version, Boolean& activeDirectoryEnabled)
       at System.ServiceModel.Channels.Msmq..cctor()
       --- End of inner exception stack trace ---
       at System.ServiceModel.Channels.Msmq.EnterXPSendLock(Boolean& lockHeld, ProtectionLevel protectionLevel)
       at System.ServiceModel.Channels.MsmqOutputChannel.OnSend(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at …
Run Code Online (Sandbox Code Playgroud)

dll wcf msmq windows-server-2008

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

Google Material Charts:停止工具提示舍入

我正在使用Google可视化材料图表...

https://google-developers.appspot.com/chart/interactive/docs/gallery/barchart#Material

....在我的例子中......

http://jsfiddle.net/ETFairfax/78595a3h/

...工具提示将条形值四舍五入,而不是仅显示值.

我已尝试自定义工具提示,如下所示:https://developers.google.com/chart/interactive/docs/customizing_tooltip_content#custom_html_content但仍然没有乐趣.

文档确实说......

"材料图表处于测试阶段."

所以也许我正在为失败的事业而战.

我的问题:

有谁知道如何阻止工具提示四舍五入?

任何帮助赞赏.

HTML

<div id="chart_div" style="width: 900px; height: 500px;"></div>
Run Code Online (Sandbox Code Playgroud)

JS代码:

google.load("visualization", "1.1", {
    packages: ["bar"]
});
google.setOnLoadCallback(drawChart);

function drawChart() {
    var data = google.visualization.arrayToDataTable([
        ['Task', 'Hours per Day'],
        ['Work', 8.5], // Tooltip says 8.5. CORRECT
        ['Eat', 11.5], // Tooltip says 12 - INCORRECT
        ['Commute', 2],// Tooltip says 2 - CORRECT
        ['Watch TV', 0.28],// Tooltip says 0.28 - CORRECT
        ['Sleep', 7.28] // Tooltip says 7.3 - INCORRECT …
Run Code Online (Sandbox Code Playgroud)

javascript google-visualization

12
推荐指数
1
解决办法
2074
查看次数

使用子选择更新 - 如何处理NULL值?

我正在尝试使用条件子选择进行更新,该子选择可以返回null ...

UPDATE 
aTable SET 
aColumn = 
(   
    SELECT TOP 1    
        CASE 
            WHEN bTable.someColumn = 1 THEN someValue1 
            WHEN bTable.someColumn = 2 THEN someValue2 
            ELSE someValue3
        END  
    FROM         
        bTable
    WHERE
        bTable = @someCriteria
    ORDER BY
        someSortColumn
) WHERE 
aTable.id = @someId;
Run Code Online (Sandbox Code Playgroud)

如果"bTable = @someCriteria"子句导致没有从SELECT返回结果,它会尝试将NULL插入"aColumn",在本例中是一个NOT NULL列.

如何在这种情况下单独留下"aColumn"?

非常感谢.

sql sql-server subquery sql-update

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

避免ASP.NET MVC中的意大利面条代码

可能是一个愚蠢的问题,但这里有.在我看来,我有以下代码....

   <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Learner.MvcApplication.ViewModels.PagerViewModel>" %><% 

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    %>
    <% =Html.Label(ViewData.Model.Controller + i.ToString()) %>
    <%
} %> 
Run Code Online (Sandbox Code Playgroud)

我是否必须关闭并重新打开对Html.Label"%> <%"等的调用?

我宁愿做点什么......

for (int i = Model.StartPage; i <= Model.EndPage; i++)
{
    Html.Label(ViewData.Model.Controller + i.ToString());
} 
Run Code Online (Sandbox Code Playgroud)

...但标签没有显示.

你能猜到我是新手吗?

非常感谢,

ETFairfax.

model-view-controller asp.net-mvc

9
推荐指数
2
解决办法
1475
查看次数

System.Web.Mvc.Controller初始化

我有以下基本控制器......

public class BaseController : Controller
{

    protected override void Initialize(System.Web.Routing.RequestContext requestContext)
    {

        if (something == true)
            RedirectToAction("DoSomething", "Section");

        base.Initialize(requestContext);

    }

}
Run Code Online (Sandbox Code Playgroud)

基本上,我的所有控制器都将从BaseController派生,如果某个值为true,它将重定向它们.但是,这段代码不起作用!调用RedirectToAction,但在Initialize方法完成后,它将继续调用最初调用的控制器.

那有意义吗??

非常感谢,

ETFairfax.

asp.net asp.net-mvc controller

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

流式 - 生成Libdef

我正在使用Flow来帮助创作一个JS项目.如果我想提供一个libdef文件来补充它,我需要手动创建它,还是我能够执行一些我不知道的魔术命令,它会为我生成lib def?

$ flow-typed doyourmagic这样的东西会很好.

编辑:

找到了这个/sf/answers/2723460491/

哪个说:

有两件事:

如果文件归您所有(即不是node_modules中的第三方lib等),那么您可以在其旁边创建一个记录其导出的*.js.flow文件.

如果文件不归您所有(即node_modules中的第三方lib等),那么您可以在flow-typed/name-of-library.js中创建一个libdef文件.

对于.js.flow文件,您可以编写如下定义:

// @flow 
declare module.exports: { ... } 
Run Code Online (Sandbox Code Playgroud)

对于libdef文件,您可以编写如下定义:

declare module "my-third-party-library" {   declare module.exports: {... } }
Run Code Online (Sandbox Code Playgroud)

对于我的问题,我属于"由你拥有"阵营.

我想我很困惑:

  1. 我是怎么写这些文件的.
  2. 我如何/在何处发布这些文件以将其打包以供另一个项目引用.

另外,为什么我需要手动创建.js.flow文件?这不是神奇地产生的吗?也许这是未来的意图但尚未实施.

flowtype flow-typed

8
推荐指数
1
解决办法
1996
查看次数