我正在尝试使用反射来创建类的实例.但它内部密封,并有私人构造.我想知道如何初始化它,作为框架的一部分,我只能用反射把它拿出来?
internal sealed class ABC
{
private ABC(string password){}
public static ABC Create(string password){};
}
Run Code Online (Sandbox Code Playgroud)
补充:System.ServiceModel.Channels.SelfSignedCertificate是我尝试使用的内部类
如何确定当前操作是ChildAction还是路由主操作?我应该检查URL并与操作名称进行比较吗?那不太好,因为它依赖于路由模式......
或者我应该做两个同名的动作,将ChildActionOnly放在其中一个并具有单独的逻辑(主要返回View()或PartialView())?如何区分过载?
好的,从另一个角度来看:如何制作它,如果它是一个ChildAction然后返回一个PartialView,否则一个完整的View?
我想使用DataAnnotations来验证实现某些接口的类,因此我将验证属性添加到接口,如下所示:
public interface IUser
{
[Required]
string Name { get; set; }
[Display(Name = "Email Address")]
[Required]
string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用它时不起作用Validator.TryValidateObject.
有没有办法做到这一点而不必编写自定义TryValidateObject方法?
我对MVC项目的以下细节有疑问.
当我试图使用jquery ajax请求加载面板像旋转gif(甚至文本)时,我收到错误,从提琴手观察到
所需的防伪表单字段"__RequestVerificationToken"不存在.
如果我[ValidateAntiForgeryToken] attribute 在POST操作方法发表评论
并使用加载面板它工作正常.我想知道为什么我收到此错误.
我甚至使用了序列化的查询字符串
__RequestVerificationToken= $('input[name="__RequestVerificationToken"').val()
Run Code Online (Sandbox Code Playgroud)
我仍然得到错误
防伪令牌无法解密.如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且
<machineKey>配置指定显式加密和验证密钥.
AutoGenerate不能在群集中使用
我该怎么用?
这里更新了问题代码
var token = $('input[name="__RequestVerificationToken"]').val();
$('#submitaddress').click(function subaddr(event) {
event.preventDefault();
event.stopPropagation();
//$('#addAddress').html('<img src="/img/animated-overlay.gif"> Sending...');
// $('#addAddress').blur();
// $(this).bl
if ($('#Jobid').val()!="") {
$('#TransportJobId').val(parseInt($('#Jobid').val()));
$.ajax(
{
url: '/TransportJobAddress/create',
type: 'POST',
data: "__RequestVerificationToken=" + token + "" + $('form[action="/TransportJobAddress/Create"]').serialize(),
success: function poste(data, textStatus, jqXHR) { $('#addAddress').html(data); return false; },
error: function err(jqXHR, textStatus, errorThrown) { alert('error at address :' + errorThrown); }
});
}
else { …Run Code Online (Sandbox Code Playgroud) 我有一个viewModel,带有一个带有可观察变量的observableArray对象.
我的模板使用编辑按钮显示数据,该按钮隐藏显示元素并显示带有值的输入元素.您可以开始编辑数据,然后您可以选择取消.我希望这个取消恢复到对象的未更改版本.
我尝试通过这样做来克隆对象:
viewModel.tempContact = jQuery.extend({}, contact);
Run Code Online (Sandbox Code Playgroud)
要么
viewModel.tempContact = jQuery.extend(true, {}, contact);
Run Code Online (Sandbox Code Playgroud)
但是一旦联系人,viewModel.tempContact就会被修改.
是否有任何内置于KnockoutJS来处理这种情况,或者我最好只是创建一个具有完全相同细节的新联系人,并在取消时用新联系人替换修改后的联系人?
任何意见是极大的赞赏.谢谢!
我正在研究我的第一个真正的ASP.NET MVC项目,我注意到我一直在工作的控制器变得相当大.这似乎违背了保持控制器薄的最佳做法.
我已经做好了将业务逻辑从控制器中删除的工作.我为此使用了一个单独的层.每个操作主要调用业务层中的方法,并根据模型状态是否有效来协调最终结果.
也就是说,控制器有很多动作方法.直觉上,我想将控制器分解为子控制器,但我没有看到一个简单的方法.我可以简单地将控制器分解为单独的控制器,但是我松开了层次结构,感觉有点脏.
是否有必要使用大量精简操作重构控制器?如果是这样,最好的方法是什么?
我正在使用别名来引用计算列.这是我正在努力工作的实际代码的片段,用于计算相似性并返回相似性得分为3或更高的匹配.
select [FirstName], difference([FirstName], 'mitch') as similarity
from [Dev].[dbo].[Name]
where similarity > 2
order by similarity desc
Run Code Online (Sandbox Code Playgroud)
错误:
select [FirstName], difference([FirstName], 'mitch') as similarity
from [Dev].[dbo].[Name]
where similarity > 2
order by similarity desc
Run Code Online (Sandbox Code Playgroud)
由于相似性不是一个真正的专栏,我将如何使这项工作?
我有一个如下代码:
struct A
{
void SomeMethod()
{
var items = Enumerable.Range(0, 10).Where(i => i == _field);
}
int _field;
}
Run Code Online (Sandbox Code Playgroud)
...然后我得到以下编译器错误:
struct A
{
void SomeMethod()
{
var items = Enumerable.Range(0, 10).Where(i => i == _field);
}
int _field;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这里发生了什么.
我有这个索引动作:
public ActionResult Index()
{
var repo = (YammerClient) TempData["Repo"];
var msgCol = repo.GetMessages();
ViewBag.User = repo.GetUserInfo();
return View(msgCol.messages);
}
Run Code Online (Sandbox Code Playgroud)
GetMessages返回POCO消息列表,GetUserInfo返回一个POCO,其中包含用户信息(id,name等).
我想用用户信息的JSON表示填充javascript变量.
所以我想在视图中做这样的事情:
...
<script>
var userInfo = "@ViewBag.User.ToJson()"
</script>
...
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但有办法吗?我想避免在加载页面后只是为了获取用户信息而执行ajax请求.
我的VS 2013输出窗口充满了这个:
iisexpress.exe Information: 0 : Request, Method=GET, Url=http://localhost:51741/api/Clients/?$filter=UniqueName eq '6269', Message='http://localhost:51741/api/Clients/?$filter=UniqueName eq '6269''
iisexpress.exe Information: 0 : Message='Clients', Operation=DefaultHttpControllerSelector.SelectController
iisexpress.exe Information: 0 : Message='MyProj.Controllers.ClientsController', Operation=DefaultHttpControllerActivator.Create
iisexpress.exe Information: 0 : Message='MyProj.Controllers.ClientsController', Operation=HttpControllerDescriptor.CreateController
iisexpress.exe Information: 0 : Message='Selected action 'GetClients()'', Operation=ApiControllerActionSelector.SelectAction
iisexpress.exe Information: 0 : Operation=HttpActionBinding.ExecuteBindingAsync
iisexpress.exe Information: 0 : Operation=QueryableAttribute.ActionExecuting
iisexpress.exe Information: 0 : Message='Action returned 'System.Collections.Generic.List`1[MyProj.Models.ClientDto]'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync
iisexpress.exe Information: 0 : Message='Will use same 'JsonMediaTypeFormatter' formatter', Operation=JsonMediaTypeFormatter.GetPerRequestFormatterInstance
iisexpress.exe Information: 0 : Message='Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'', Operation=DefaultContentNegotiator.Negotiate
iisexpress.exe Information: 0 …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×4
c# ×3
javascript ×2
.net ×1
actionmethod ×1
ajax ×1
asp.net ×1
iis-express ×1
jquery ×1
json ×1
knockout.js ×1
observable ×1
sql ×1
t-sql ×1
trace ×1
viewbag ×1