我有这样的代码:
public class test {
public string aa { get; set; }
public string bb { get; set; }
public string cc { get; set; }
}
var a = new test {
aa = "a",
bb = "b"
}
var d = a;
d.cc = "c";
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让我创建 d 类并同时填充它。例如,最后两行可以合并为一行吗?请注意,我想避免使用构造函数执行此操作,因为有时我将填充除 cc 之外的不同字段。
请注意我的编辑
var d = a;
Run Code Online (Sandbox Code Playgroud) 我有一个名为book的Book对象集合.Book类有一个名为Title的字段.
是否有一种简单的方法使用Linq(或其他)来查明该集合是否具有标题为"Harry"的Book对象?
我的方法看起来像这样:
public IDictionary<string, string> Delete(Account account)
{
try { _accountRepository.Delete(account); }
catch { _errors.Add("", "Error when deleting account"); }
return _errors;
}
public IDictionary<string, string> ValidateNoDuplicate(Account ac)
{
var accounts = GetAccounts(ac.PartitionKey);
if (accounts.Any(b => b.Title.Equals(ac.Title) &&
!b.RowKey.Equals(ac.RowKey)))
_errors.Add("Account.Title", "Duplicate");
return _errors;
}
Run Code Online (Sandbox Code Playgroud)
我想更改此方法,以便它返回一个bool,因此如果有错误而不是:它会引发异常:
_errors.Add("", "Error when deleting account");
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释如何抛出异常并传递包含密钥和值的消息.在这种情况下,密钥将是"",值将是"Error when deleting account".
同样在调用它的方法中.我怎么能抓住这个例外?
我是否有必要创建自己的类并以某种方式基于此类抛出异常?
我目前正在处理我的异常:
try {
}
catch (ServiceException ex) {
ModelState.Merge(ex.Errors);
}
catch (Exception e) {
Trace.Write(e);
ModelState.AddModelError("", "Database access error: " + e.Message);
}
Run Code Online (Sandbox Code Playgroud)
这有效但是我重复了很多次的相同代码.我正在寻找的是关于如何将其转换为外部函数的一些建议.我不一定需要在那里移动try块,但至少需要移动其他代码.
也许是一个传递了Exception和ModelState的函数(作为参考).任何人都可以建议一个干净的方式,我可以编写这个功能.我在这里问,因为几乎总有人似乎想出了一个我从未想过的解决方案.谢谢萨曼莎.
我有以下代码:
@Html.ValidationSummary(false)
@Html.ValidationSummary(true, "xxx")
@using (Ajax.BeginForm(
action,
"Menus",
null,
new AjaxOptions
{
UpdateTargetId = "update-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = success
}, new { @id = "menuForm" }))
{
<dl>
<dt>@Html.LabelFor(model => model.Order)</dt>
<dd>@Html.TextBoxFor(model => model.Order)</dd>
<dd>@Html.ValidationMessageFor(model => model.Order)</dd>
</dl>
Run Code Online (Sandbox Code Playgroud)
当我输入订单值999时,我立即得到客户端验证,在订单文本框之后显示错误消息.但是,Html.ValidationSummary区域中没有显示任何内容.可以在客户端验证中使用它吗?
这是我的模型:
public class Menu
{
[Range(0, 99, ErrorMessage = "{0} must be between {1} and {2}")]
[DisplayName("Order")]
public int Order { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的网页配置:
<appSettings>
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" …Run Code Online (Sandbox Code Playgroud) 我开始使用新的身份管理并且有一个简单的需求.当我的用户使用错误的名称登录时,它会报告密码错误.如何更改此设置以便它还使用dbcontext方法检查用户名是否存在?
public ActionResult Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
// Validate the password
IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe);
if (result.Success)
{
return Redirect("~/home");
}
else
{
AddErrors(result);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Run Code Online (Sandbox Code Playgroud) 我有以下几点:
var objectives = _objectivesRepository
.GetAll()
.Where(o => o.ExamId == examId || examId == 0)
.Include(o => o.ObjectiveDetails)
.ToList();
Run Code Online (Sandbox Code Playgroud)
在之前的一篇文章中,一位用户说在 LINQ 查询中将 where 放在 include 之前很重要。
有人可以让我知道这是否正确吗?顺序重要吗?如果有很多 where 和 includes 呢?
我的AngularJS应用程序有一个模块admin,我想让它只对Admin角色的人有用.在服务器上,我已将此模块的文件全部放在一个目录中,并且我将此web-config放在同一目录中.这是有效的,除非用户是管理员角色,否则他们无法下载javascript文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="Admin" />
</authorization>
</security>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
所以我的服务器端解决方案似乎已经解决了.但是我完全不知道在客户端上做什么,如何下载脚本并在引导后将模块添加到我的应用程序中.这就是我所拥有的:
我使用web-config保护的admin目录中的文件如下所示:
admin.js
angular.module('admin', [])
Run Code Online (Sandbox Code Playgroud)
homeController.js
angular.module('admin')
.controller('AdminHomeController', ['$http', '$q', '$resource', '$scope', '_o', adminHomeController]);
function adminHomeController($http, $q, $resource, $scope, _o) {
....
...
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序级文件如下所示:
app.js
var app = angular
.module('app',
['ui.router', 'admin', 'home',])
.run(['$rootScope', '$state', '$stateParams', '$http', '$angularCacheFactory', appRun])
function appRun($rootScope, $state, $stateParams, $http, $angularCacheFactory) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
Run Code Online (Sandbox Code Playgroud)
app.config.js …
我有这个代码:
IF (@CurrentResult != 'N' AND @CurrentResult != 'F')
THROW 50002, 'Question should be unmarked or incorrect', 1
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释我如何在我抛出的错误消息中给出@CurrentResult吗?
我想要的是消息显示如下:
Question result is 'X'. It should be unmarked or incorrect?
Run Code Online (Sandbox Code Playgroud)
其中X是@CurrentResult的值.
luberda-molinet/FFImageLoading 中的代码在大多数情况下对我来说效果很好,但我发现有时我的图像无法在 iOS 上正确加载。可能这也是 Android 上的一个问题,但我还没有研究过这个问题。下面是一个例子:
标题图标和语言图标背后的代码是相同的。要解决这个问题,我需要关闭应用程序并再次打开它,标题图标将正确显示,但另一个图标可能没有正确的高度。这是图标背后的代码:
<Frame x:Name="SvgFrame"
Grid.Column="0"
VerticalOptions="Center"
BackgroundColor="{Binding IconBackgroundColor, Source={x:Reference this}}"
CornerRadius="5"
Padding="4" HasShadow="False">
<ffimageloadingsvg:SvgCachedImage Source="{Binding IconSource, Source={x:Reference this}}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
</Frame>
Run Code Online (Sandbox Code Playgroud) c# ×6
linq ×2
angularjs ×1
asp.net ×1
asp.net-mvc ×1
c#-4.0 ×1
exception ×1
sql-server ×1
xamarin ×1