此问题出现在.net core 3.1 MVC网站中。
我无法将 POST 绑定到控制器操作(参数始终为空)。数据是从数据库加载的,并且是一个大型的递归结构。如果我删除数据库中的几百行 JSON(大约 2500 行),它将绑定正常。
GET 显示完美。
即使当我将 Action 方法参数从 ViewModel 更改为 IFormCollection 时,它仍然显示为 null。这里有一些我没有意识到的限制吗?如果大小是问题,是否有更好的方法来发布数据?
父视图
<form id="frmAdditionalCodes" name="frmAdditionalCodes" method="post">
<table class="table">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Code)
</th>
<th>
@Html.DisplayNameFor(model => model.FullName)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td style="width:50px">
@Html.DisplayFor(modelItem => Model.Code)
<input asp-for="@Model.Code" class="form-control" style="display:none" />
</td>
<td style="width:50px">
@Html.DisplayFor(modelItem => Model.FullName)
<input asp-for="@Model.FullName" class="form-control" style="display:none" />
</td>
<td style="width:50px">
@Html.DisplayFor(modelItem => Model.Description)
<input asp-for="@Model.Description" class="form-control" style="display:none" …Run Code Online (Sandbox Code Playgroud) 我有一个列表,我希望它按DayOfWeek排序,除了DayOfWeek = 1的情况,它应该在列表的末尾.我在OrderBy和ThenBy上尝试了一些变体,但它似乎继续按数字顺序排序.
我确信这很简单,我不想改变Day = 1的值,这是最初的解决方案
var dayOfWeeksHolder = Enumerable.Range(1, 7);
var defaultTime = DateTime.Today.TimeOfDay;
var psList = _pickingScheduleIO.GetDayScheduleList(branchNo);
var psListByType = psList.Where(p => p.PickingSesstionTypeId == pickingSessionTypeId).ToList();
var fullList = (from d in dayOfWeeksHolder
join s in psListByType on d equals s.DayOfWeek into grp
from ds in grp.DefaultIfEmpty()
// where (ds == null || ds.PickingSesstionTypeId == pickingSessionTypeId)
select new DayScheduleVM
{
PickingScheduleId = ds == null ? 0 : ds.PickingSessionScheduleId,
DayOfWeek = d, //d == 1 ? d + 7 …Run Code Online (Sandbox Code Playgroud) 我有以下用c#编写的代码来检查各种测试,如果有任何失败,结果为false,不希望执行其他检查.
我编码的方式似乎"丑陋",我想知道是否有一个更优雅的解决方案,因为今天早上大脑褪色而我失踪了.
//check the rules
bool isValid = CheckPhoneFormat();
if (isValid)
{
isValid = CheckDoNotCall();
}
if (isValid)
{
isValid = CheckStatusActive();
}
if (isValid)
{
isValid = CheckOCV();
}
if (isValid)
{
isValid = CheckCard();
}
customer.IsValid = isValid;
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Angular 2 中发布库组件,但停留在发布到 npm 的基本步骤上。
我已经在webui中创建了一个用户,我可以成功登录。
当我尝试运行时npm publish出现错误
您需要使用 npm adduser 授权这台机器
npm adduser如果我调用授权机器或npm login得到以下输出,这就是我的问题所在:
第一次 PUT 之前的 npm 动词 adduser { _id: 'org.couchdb.user:xyz', npm 动词 adduser 名: 'xyz', npm 动词 adduser 密码: 'XXXXX', npm 动词 adduser 电子邮件: 'xyz@xyz.com', npm 动词 adduser 类型:'user',npm 动词 adduser
角色:[],npm 动词 adduser 日期:'2017-08-14T13:21:16.441Z' } npm 动词请求 uri http://registry.npmjs.org/- /user/org.couchdb.user:xyz npm 动词请求新用户,因此无法发送身份验证 npm 信息尝试注册表请求 try #1 at 2:21:16 PM npm 动词请求 id 026a1cd79e30f781 npm http 请求 PUT http:// registry.npmjs.org/-/user/org.couchdb.user:xyz …
我一直在使用身份服务器快速入门应用程序,我想添加在调用userinfo端点时要返回的角色信息。
public Claim[] GetUserClaims(UserServiceProxy.Dto.User user)
{
return new Claim[]
{
new Claim(JwtClaimTypes.Name, user.Username),
new Claim(JwtClaimTypes.Email, user.Email),
new Claim(JwtClaimTypes.GivenName, user.Firstname),
new Claim(JwtClaimTypes.FamilyName, user.Lastname),
new Claim(JwtClaimTypes.Subject, user.Username),
new Claim(JwtClaimTypes.Role, user.Role ?? "normal"), //have added this
};
}
Run Code Online (Sandbox Code Playgroud)
这是从我的GetProfileDataAsync调用的
if (context.RequestedClaimTypes.Any())
{
var user = UserClient.FindByUserName(context.Subject.GetSubjectId());
if (user != null)
{
context.AddRequestedClaims(UserClient.GetUserClaims(user.Result.User));
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用/ connect / userinfo端点时,得到以下信息(无作用):
{“ name”:“ joe3”,“ given_name”:“ Joe”,“ family_name”:“ Three”,“ sub”:“ joe3”}
我一直在尝试按照文档中的这个示例来允许将文件上传到我的控制器,它确实命中了我的操作,但它总是以空值出现。
我的视图模型
<form method="post" enctype="multipart/form-data" asp-controller="Data" asp-action="ImportAdditionalCodes">
<div class="form-group">
<div class="col-md-10">
<p>Upload import data:</p>
<input type="file" name="files" >
</div>
</div>
<div class="form-group">
<div class="col-md-10">
<input type="submit" value="Upload">
<button type="button" id="btnCancelUploadData">Cancel</button>
</div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的控制器操作
[HttpPost]
public async Task<IActionResult> ImportAdditionalCodes(IFormFile file)
{
//file is always null here!!!
if (file?.Length > 0)
{
JsonSerializer js = new JsonSerializer();
using (MemoryStream ms = new MemoryStream())
{
await file.CopyToAsync(ms);
using (StreamReader streamReader = new StreamReader(ms))
{
CommodityAdditionalCodeTypeDto[] codes= (CommodityAdditionalCodeTypeDto[]) js.Deserialize(streamReader, typeof(CommodityAdditionalCodeTypeDto[]));
} …Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×1
.net-core ×1
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
linq ×1
npm ×1
sql-order-by ×1