在使用MVC Html.DropDownList时,我需要设置什么选项才能只读下拉框?
我尝试过......
Html.DropDownList("Types", Model.Types, new { _Enabled = "false" })
Run Code Online (Sandbox Code Playgroud)
......沿着这条线路有很多不同的东西; 唉,没有快乐!
我认为这将是一个简单的.....它可能是!
我正在学习实体框架,我遇到了问题!
有人可以澄清我是否正确地认为我无法从数据库中获取父母及其子集的子集?
例如...
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子句应用于子集合.
问题:
我找到了一些关于这个主题的博客和SO帖子,但没有什么能够解释我的小脑袋.
编辑
读过这个博客(感谢Daz Lewis).......我仍然没有得到它!
在博客中给出的示例中,我可以看到如何针对单个Parent实例实现它,但我正在努力弄清楚如何使用集合来实现它.
我怎么能得到一个IEnumerable,其中每个父母都有一个过滤的儿童集合(年龄> = 5)?
进一步澄清:
在回答DonAndre的评论时,我追问的是a)有5岁以上孩子的父母名单(仅包括那些孩子).
任何帮助,赞赏,
谢谢.
我在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方法)不适用于紧凑的框架.
在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
我开发了一个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) 我正在使用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) 我正在尝试使用条件子选择进行更新,该子选择可以返回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"?
非常感谢.
可能是一个愚蠢的问题,但这里有.在我看来,我有以下代码....
<%@ 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.
我有以下基本控制器......
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.
我正在使用Flow来帮助创作一个JS项目.如果我想提供一个libdef文件来补充它,我需要手动创建它,还是我能够执行一些我不知道的魔术命令,它会为我生成lib def?
像$ flow-typed doyourmagic这样的东西会很好.
编辑:
哪个说:
有两件事:
如果文件归您所有(即不是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)
对于我的问题,我属于"由你拥有"阵营.
我想我很困惑:
另外,为什么我需要手动创建.js.flow文件?这不是神奇地产生的吗?也许这是未来的意图但尚未实施.
asp.net-mvc ×4
asp.net ×1
c# ×1
controller ×1
dll ×1
flow-typed ×1
flowtype ×1
html-helper ×1
javascript ×1
msmq ×1
sql ×1
sql-server ×1
sql-update ×1
subquery ×1
uri ×1
wcf ×1