_db.InstellingAdressens
.Where(l => l.GEMEENTE.Contains(gem_query))
.OrderBy(q => q.GEMEENTE)
.Select(q => q.GEMEENTE)
.Distinct();
Run Code Online (Sandbox Code Playgroud)
这是查询.它返回一个List<string>但字符串根本没有排序.为什么OrderBy没有效果?以及如何解决它?
我想做以下事情:
当url没有instID时,我想重定向到该"Instelling"动作
在这个控制器中,每个方法都需要instID.
[RequiredParameter(parameterName="instID", controllerToSend="Instelling")]
public ActionResult Index(int? instID) {
//if (!instID.HasValue) {
// return RedirectToAction("Index", "Instelling");
//}
var facts = _db.Instellingens.First(q => q.Inst_ID == instID).FacturatieGegevens;
return View(facts);
}
Run Code Online (Sandbox Code Playgroud)
所以这是在控制器中.
actionfilter:
namespace MVC2_NASTEST.Controllers {
public class RequiredParameterAttribute : ActionFilterAttribute {
public string parameterName { get; set; }
public string actionToSend { get; set; }
public string controllerToSend { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext) {
if (parameterName != string.Empty) {
if (filterContext.ActionParameters.ContainsKey(parameterName) && filterContext.ActionParameters[parameterName] …Run Code Online (Sandbox Code Playgroud) 所以这里:
我有一个html帮助器,它ActionLink使用当前url的可选参数呈现s.这个html帮助器还允许您根据需要添加一些可选参数,并将它们合并为1 RouteValueDictionary.
public static string ActionLinkwParams(this HtmlHelper helper, string linktext, string action, string controller, object extraRVs, object htmlAttributes) {
//get current optional params from current URL
NameValueCollection c = helper.ViewContext.RequestContext.HttpContext.Request.QueryString;
//put those in a dict
RouteValueDictionary r = new RouteValueDictionary();
foreach (string s in c.AllKeys) {
r.Add(s, c[s]);
}
RouteValueDictionary htmlAtts = new RouteValueDictionary(htmlAttributes);
RouteValueDictionary extra = new RouteValueDictionary(extraRVs);
//merge them
RouteValueDictionary m = RouteValues.MergeRouteValues(r, extra);
return helper.ActionLink(linktext, action, controller, m, htmlAtts).ToHtmlString();
}
Run Code Online (Sandbox Code Playgroud)
这很完美,但我现在添加了SecurityAware Actionlinks.
所以 …
我在使用任务/等待的 foreach 中有一些耗时的代码。它包括从数据库中提取数据、生成 html、将其发布到 API 以及将回复保存到数据库。
模型看起来像这样
List<label> labels = db.labels.ToList();
foreach (var x in list)
{
var myLabels = labels.Where(q => !db.filter.Where(y => x.userid ==y.userid))
.Select(y => y.ID)
.Contains(q.id))
//Render the HTML
//do some fast stuff with objects
List<response> res = await api.sendMessage(object); //POST
//put all the responses in the db
foreach (var r in res)
{
db.responses.add(r);
}
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
从时间上看,生成 Html 并将其发布到 API 似乎花费了大部分时间。
理想情况下,如果我可以生成下一个项目的 HTML,并等待帖子完成,然后再发布下一个项目,那就太好了。
也欢迎其他想法。人们会怎样做呢?
我首先想到Task在上面添加一个foreach并等待其完成然后再进行下一个 POST,但是我如何处理最后一个循环......感觉很混乱......
我的问题非常简单.假设我有一个用户下拉列表.在数据库中,我的用户表有3个字段:
user_id
user_name
user_firstname
Run Code Online (Sandbox Code Playgroud)
在我的MVC应用程序中,我想将这些用户链接到项目.这就是为什么我想要下拉列表.
现在,我希望有一个选择列表,ID为值,firstname和lastname为'text'
SelectList sl = new SelectList(users, "user_id", "user_name");
Run Code Online (Sandbox Code Playgroud)
现在我如何在文本中获得名字?这应该相当容易,但似乎不是......
生成随机密码很简单.但是生成批次更加困难.
public static string getRandomPassword(int letters, int getallen) {
//int letters = 8;
//int getallen = 5;
char[] letterdeel = new char[letters];
int minGetal = (int)Math.Pow(10, getallen - 1);
int maxGetal = (int)Math.Pow(10, getallen);
string password;
Random r = new Random();
int test = (int)(DateTime.Now.Ticks);
for (int i = 0; i < letters; i++) {
r = new Random((int)(DateTime.Now.Ticks) + i);
bool capital = r.Next(2) == 0 ? true : false;
if (capital) {
letterdeel[i] = (char)r.Next(65, 91);
} else …Run Code Online (Sandbox Code Playgroud) 我写了以下代码:
//get the user from the DB
var tmpuser = _db.aspnet_Users.First(q => q.UserName == user.Identity.Name);
//list the direct connections to Verbond
List<Verbond> verb1 = tmpuser.UsersVerbondens
.Where(q => q.Schooljaar.Sch_Schooljaar == schooljaarparam)
.Select(q => q.Verbond)
.ToList();
//list the connected Facturatieverbonden
List<FacturatieVerbonden> verb2 = tmpuser.UsersFacturatieVerbondens
.Where(q => q.Schooljaar.Sch_Schooljaar == schooljaarparam)
.Select(q => q.FacturatieVerbonden)
.ToList();
//loop through the facturatieverbonden and add their verbonds to the first list
foreach (FacturatieVerbonden v in verb2) {
verb1.AddRange(v.Verbonds);
}
//make a distinct list
List<Verbond> test = verb1.Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
因此,用户可以连接到0或更多 …
asp.net-mvc ×4
c# ×4
linq ×2
linq-to-sql ×2
actionlink ×1
async-await ×1
lambda ×1
optimization ×1
passwords ×1
random ×1
routevalues ×1
selectlist ×1
sql-order-by ×1