有没有办法可以DisplayFormat在视图模型属性上使用该属性来应用DataFormatString社会安全号码或电话号码的格式?我知道我可以用javascript做到这一点,但如果可能的话,我更愿意让模型处理它.
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "???????")]
public string Ssn { get; set; }
Run Code Online (Sandbox Code Playgroud) 说我有以下HTML:
<form>
...some form fields...
<input type="submit" id="submitButton" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
我有一个javascript方法validate,检查各种无效方案的表单字段,true如果一切正常或返回错误,则返回false.
在这样做之间jQuery有什么真正的区别:
$("form").submit(function() {
return validate();
});
Run Code Online (Sandbox Code Playgroud)
......或者这样做:
$("#submitButton").click(function(){
return validate();
});
Run Code Online (Sandbox Code Playgroud)
这两者之间有什么优点/缺点吗?
简单(可能是愚蠢的)问题.我是一个Powershell新手,我主要使用它来实例化托管库,所以当我需要使用它们的成员时,我不必编写小应用程序.其中一些库是旧的,并且具有长而痛苦的签名方法.在使用new-object实例化后使用get-member,我经常遇到令人沮丧的结果,如下所示:
PS> $object | get-member MethodWithLongSignature
TypeName: SomeLib.SomeObject
Name MemberType Definition
---- ---------- ----------
MethodWithLongSignature Method System.Void MethodWithLongSignature(string param1, int param2, string param3, string param4, stri....
Run Code Online (Sandbox Code Playgroud)
有没有办法包装get-member的结果?或者,是否有一个get-member开关,它将以一种不会包装的方式产生结果?
我正在尝试编写一个Web API方法的测试,该方法使用HttpContext.Current.Request.Files并经过详尽的搜索和实验后,我无法弄清楚如何模拟它.正在测试的方法如下所示:
[HttpPost]
public HttpResponseMessage Post()
{
var requestFiles = HttpContext.Current.Request.Files;
var file = requestFiles.Get(0);
//do some other stuff...
}
Run Code Online (Sandbox Code Playgroud)
如果我试图模拟上下文,我会遇到Http*对象层次结构的问题.假设我设置了各种模拟对象(使用Moq),如下所示:
var mockFiles = new Mock<HttpFileCollectionBase>();
mockFiles.Setup(s => s.Count).Returns(1);
var mockFile = new Mock<HttpPostedFileBase>();
mockFile.Setup(s => s.InputStream).Returns(new MemoryStream());
mockFiles.Setup(s => s.Get(It.IsAny<int>())).Returns(mockFile.Object);
var mockRequest = new Mock<HttpRequestBase>();
mockRequest.Setup(s => s.Files).Returns(mockFiles.Object);
var mockContext = new Mock<HttpContextBase>();
mockContext.Setup(s => s.Request).Returns(mockRequest.Object);
Run Code Online (Sandbox Code Playgroud)
试图将其分配给当前上下文...
HttpContext.Current = mockContext.Object;
Run Code Online (Sandbox Code Playgroud)
...导致编译器错误/红线,因为它Cannot convert source type 'System.Web.HttpContextBase' to target …
与这个问题类似,但答案从未真正解决过我想知道的问题.从DataReader获取值是否有任何标准?就是这个
dataReader.GetString(dataReader.GetOrdinal("ColumnName"));
Run Code Online (Sandbox Code Playgroud)
认为更好/更差/与此相同?
(string) dataReader["ColumnName"];
Run Code Online (Sandbox Code Playgroud) 我们从供应商处获取XML文档,我们需要使用它们的样式表执行XSL转换,以便我们可以将生成的HTML转换为PDF.实际样式表在XML文档中定义的href属性中引用?xml-stylesheet.有什么方法可以使用C#获取该URL吗?我不相信供应商不更改URL,显然不想对其进行硬编码.
带有完整?xml-stylesheet元素的XML文件的开头如下所示:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.fakeurl.com/StyleSheet.xsl"?>
Run Code Online (Sandbox Code Playgroud) 我有一个VS2010 Winforms项目,有多个表单和用户控件,都与TFS集成.每次我在设计器中打开其中一个表单时,它会自行检查并执行类似已更改的操作,即使没有.对于使用此项目的每个人来说都会发生这种情况,并且只会出现在这个特定表单中 任何人都知道是什么原因造成的?
我有一个heckuva时间弄清楚如何将带有两个条件where子句的简单SQL LEFT OUTER JOIN转换为一个有效的Linq-to-Entities查询.只有两张桌子.我需要Table1中所有行的值,无论Table2中的匹配如何,但WHERE子句使用Table2中的字段.在SQL中,两个参数是Table2WhereColumn1和Table2WhereColumn2,查询(可以工作)如下所示:
SELECT t1.Table1Id,
t1.FieldDescription,
t2.FieldValue
FROM Table1 t1 WITH (NOLOCK)
LEFT JOIN Table2 t2 WITH (NOLOCK) ON t1.Table1Id = t2.Table1Id
WHERE (t2.Table2WhereColumn1 = @someId OR t2.Table2WhereColumn1 IS NULL)
AND (t2.Table2WhereColumn2 = @someOtherId OR t2.Table2WhereColumn2 IS NULL)
ORDER BY t1.OrderByColumn
Run Code Online (Sandbox Code Playgroud)
我尝试过使用Group Joinwith DefaultIfEmpty(),以及一个隐式连接(没有实际的Join关键字),我只获得表2中具有值的项的行.我相信这不会有帮助,但是这里有一个我一直在尝试的Linq的例子不起作用:
Public Shared Function GetProfilePreferencesForCedent(ByVal dc As EntityContext, _
ByVal where1 As Int32, _
ByVal where2 As Int32) _
As IQueryable(Of ProjectedEntity)
Return From t1 In dc.Table1
Group Join t2 In …Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET 3.5 Web服务(旧学校SOAP,而不是WCF)在IIS 6.0中设置相同的两台服务器上运行.身份验证/访问控制设置如下:
在其中一个Web方法中,我需要获取请求用户的身份并验证它是否在某个Active Directory组中.所以,web方法中的第一行代码是这样的:
var requestUser = HttpContext.Current.Request.LogonUserIdentity.Name;
Run Code Online (Sandbox Code Playgroud)
由于某种原因,两台服务器之间的结果不同.Server1按预期工作,生成domain\UserId.但是,Server2生成Server2\IUSR_SERVER2.有谁之前经历过这个吗?我确实找到了这个问题,但我很确定它不适用于客户端,两个服务器都在同一个域中.
根据Heinzi的回复,我在以下<system.web>两个web.config文件中添加了以下内容:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)
现在,Server1的行为相同,因为它的行为与我想要的一样.但是,Server2抛出401.2:Unauthorized错误:
'/'应用程序中的服务器错误.
访问被拒绝.描述:访问提供此请求所需的资源时发生错误.可能未配置服务器以访问请求的URL.
错误消息401.2.:未授权:由于服务器配置登录失败.验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面.请与Web服务器的管理员联系以获取其他帮助.
版本信息:Microsoft .NET Framework版本:2.0.50727.3603; ASP.NET版本:2.0.50727.3053
c# ×3
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
datareader ×1
formatting ×1
forms ×1
httpcontext ×1
iis-6 ×1
javascript ×1
jquery ×1
left-join ×1
linq ×1
moq ×1
powershell ×1
submit ×1
tfs ×1
unit-testing ×1
vb.net ×1
web-services ×1
winforms ×1
xml ×1
xslt ×1