我有以下代码:
jQuery的:
$.ajax({
url: '/personcontroller/getperson',
cache: false,
type: "POST",
data: $('#person').serialize(),
success: function(data) {
alert('yay');
}
});
});
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult getPerson(Person person)
{
return new Json(person);
}
Run Code Online (Sandbox Code Playgroud)
Html Form/Spark:
<form id="person">
<input id="person.Id" type="hidden" value="${ViewData.Model.Person.Id}" />
<input id="person.Name" value="${ViewData.Model.Person.Name}"></input>
<input id="person.Age" value="${ViewData.Model.Person.Age}"></input>
<input value="${ViewData.Model.Person.Gender}"></input>
</form>
Run Code Online (Sandbox Code Playgroud)
当我用表单发布ajax调用时,在我的操作中放置一个断点.人物对象没有填充输入值,我觉得我忽略了一些非常简单的事情......你能不能指出我:
简单的问题,但是解决方案?
我有一个典型的C#应用程序运行"new XslCompiledTransform.Transform(...);" 我传递param参数,所有类型字符串.
我想传递一个类型为array的字符串:字符串,甚至可以说是一个对象数组.
我正在使用C#我受限于XSL 1.0.
我怎样才能以干净的方式完成这项任务,以避免在.NET中编写不必要的代码?
我正在寻找一些关于使用 javascript 或 jquery 删除尾随 html < br /> 标记的最有效方法的想法。
规则:
- 前面和后面的 br 必须去掉。
- 它必须删除非关闭和自关闭 br 标签。
- 文本内容中的所有 br 必须保持不变。
HTML:
<div class="generatedContent">
<br>My awesome content.
<br><br>Some More awesome content.
<br>
<br>
<br>I still need the content written here<br/>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
Run Code Online (Sandbox Code Playgroud)
期望的输出:
<div class="generatedContent">
My awesome content.
<br><br>Some More awesome content.
<br>
<br>
<br>I still need the content written here
</div>
Run Code Online (Sandbox Code Playgroud) 我通过一个名为Marten的库使用一个postgres数据库和一个.NET应用程序,我有一个IUserLoginStore管理检索用户及其角色的自定义.这似乎工作正常但我在设置授权时遇到问题.
我通过谷歌使用身份验证,它工作正常:
var info = await _signInManager.GetExternalLoginInfoAsync();
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false);
Run Code Online (Sandbox Code Playgroud)
此操作会抛出访问被拒绝的问题:
[HttpPost()]
[Authorize(Roles = "Admin")]
public JsonResult SubmitArticle([FromBody] ArticleInputModel input) {...}
Run Code Online (Sandbox Code Playgroud)
我已经挖了授权代码,问题似乎是默认ClaimsPrincipal代码:
public virtual bool IsInRole(string role)
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
我应该实现自己的版本ClaimsPrinciple并覆盖它IsInRole,如果我这样做,我怎么把它重新带回应用程序?
private static void ConfigureSecurity(IServiceCollection services)
{
services.AddIdentity<User, Role>()
.AddUserValidator<UserValidator>()
.AddUserStore<MartenUserStore>()
.AddRoleStore<MartenRoleStore>()
.AddDefaultTokenProviders();
}
Run Code Online (Sandbox Code Playgroud) 这个例子没有使用IServiceLocator来包装我的容器,但它让我有点困惑.
我认为WindsorContainer可以自动解析为IWindsorContainer?
var container = new WindsorContainer();
container.Register(Component.For<INeedWindsorContainer>()
.ImplementedBy<GiveMeWindsorContainer>()
.LifeStyle.Singleton);
Run Code Online (Sandbox Code Playgroud)
INeedWindsorContainer的实现:
public class GiveMeWindsorContainer : INeedWindsorContainer
{
IWindsorContainer _container;
public GiveMeWindsorContainer(IWindsorContainer container)
{
_container = container;
}
}
Run Code Online (Sandbox Code Playgroud)
但这可能不起作用,因为WindsorContainer不知道如何解决IWindsorContainer!
当然,我想出的直接解决方案是:
var container = new WindsorContainer();
container.Register(
Component.For<IWindsorContainer>()
.Instance(container)
.LifeStyle.Singleton,
Component.For<INeedWindsorContainer>()
.ImplementedBy<GiveMeWindsorContainer>()
.LifeStyle.Singleton);
Run Code Online (Sandbox Code Playgroud)
然而这对我来说似乎有点奇怪,我做错了什么?
我正在阅读Robert Pickering 的F#基础.当我尝试运行本书中的第一个示例(下面)时,我在函数print中遇到运行时错误,"无法解析格式字符串'缺少格式说明符'"
#mytestapp
let message = "Hello
World\r\n\t!"
let dir = @"c:\projects"
let bytes = "bytesbytesbytes"B
let xA = 0xFFy
let xB = 0o7777un
let xC = 0b10010UL
let print x = printfn "A%" x
let main() =
print message;
print dir;
print bytes;
print xA;
print xB;
print xC
main()
Run Code Online (Sandbox Code Playgroud)
输出应该是(根据书中):
"你好\n世界\ r \n\t!"
"c:\ projects"
[| 98uy; 121uy; 116uy; 101uy; 115uy; 98uy; 121uy; 116uy; 101uy; 115uy; 98uy;
121uy; 116uy; 101uy; 115uy |] -1y
4095
18UL …
c# ×3
jquery ×2
.net-core ×1
asp.net ×1
asp.net-mvc ×1
coreclr ×1
f# ×1
html ×1
javascript ×1
jquery-1.4 ×1
json ×1
regex ×1
xslt ×1