使用ElasticSearch NEST,我无法从查询中获得预期的结果.我的索引/类型布局如下:
每种类型都有自己的字段,我使用NEST的Index()方法来索引数据.我可以通过以下方式验证它是否正确编入索引:
http://localhost:9200/theatres/_mapping供参考,这是我的客户端配置:
// TODO: Put settings in config
var node = new Uri("http://localhost:9200");
var connSettings = new ConnectionSettings(node);
connSettings.SetDefaultIndex("theatres");
connSettings.ThrowOnElasticsearchServerExceptions();
var client = new ElasticClient(connSettings);
Run Code Online (Sandbox Code Playgroud)
查询
现在,对于查询,我想搜索索引中的所有类型和所有字段.使用Head插件,我能够生成查询并获得预期的结果:
使用它生成的查询,我尝试了以下NEST查询:
var query = "waukesha"; // This would be passed in
var resp = client.Search<dynamic>(s => s
.From(0)
.Take(10)
.Query(qry => qry
.Bool(b => b
.Must(m => m
.QueryString(qs => qs
.DefaultField("_all")
.Query(query))))));
Run Code Online (Sandbox Code Playgroud)
但是,这给了我不同的结果.NEST是否在幕后做了我不知道的事情?或者这不受支持?
我有一个场景,我需要User.Identity在我的构造函数的控制器中访问声明.
我需要这个,因为声明有我需要的信息来启动自定义数据库上下文(连接字符串)
我怎么去访问这个?我只是注入DBContext,但基于用户,他们可能需要访问不同的DB.
有没有更好的方式来考虑这个?
[Authorize]
public class DefaultController : Controller
{
public DefaultController()
{
// this is NULL
var authenticatedUser = User.Identity.Name;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在异步模式下使用Kendo UI Upload(MVC包装器).事情似乎在Chrome中运行良好,但在IE中没有这样的运气(截至目前仅在IE 9中测试过).当它启动上传时,我可以看到它命中我的操作方法,并且请求包含我期望的数据,但实际上没有任何内容被保存.
代码示例如下:
_EditForm.cshtml(上传的位置)
@(Html.Kendo().Upload()
.Name(string.Format("upload{0}", "background"))
.Multiple(true)
.Events(evt => evt.Success("refreshBackgroundImages"))
.Messages(msg => msg.DropFilesHere("drag and drop images from your computer here")
.StatusUploaded("Files have been uploaded"))
.Async(a => a.AutoUpload(true)
.SaveField("files")
.Save("UploadImage", "Packages", new { siteId = Model.WebsiteId, type = "background" })))
Run Code Online (Sandbox Code Playgroud)
控制器ActionMethod
[HttpPost]
public ActionResult UploadImage(IEnumerable<HttpPostedFileBase> files, Guid siteId, string type)
{
var site = _websiteService.GetWebsite(siteId);
var path = Path.Combine(_fileSystem.OutletVirtualPath, site.Outlet.AssetBaseFolder);
if (type == "background")
{
path = Path.Combine(path, _backgroundImageFolder);
}
else if (type == "image")
{
path …Run Code Online (Sandbox Code Playgroud) asp.net-mvc asyncfileupload asp.net-mvc-4 kendo-ui kendo-asp.net-mvc
我正试图从代码服务器端动态创建一本"书".该部分工作正常,并生成类似于以下内容的输出:
<div id="pagesContainer">
<div class="pageContent">
<div>
Page 1 content
</div>
</div>
<div class="pageContent">
<div>
Page 2 content
</div>
</div>
<div class="pageContent">
<div>
Page 3 content
</div>
</div>
<div class="pageContent">
<div>
Page 4 content
</div>
</div>
<div class="pageContent">
<div>
Page 5 content
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要做的是,最好使用jQuery将类添加到最内层的div中,例如page-left或page-right.例如,第1页,第3页和第5 page-left页将获得,而第2页和第4页将获得page-right.可能还有更多(或更少)5页.我尝试使用一堆不同的偶数/奇数选择器方案,但似乎无法让它正常工作.
有人能指出我正确的方向吗?
谢谢!
我有一个使用kendoWindow打开弹出窗口的链接.每次我关闭弹出窗口并再次重新打开(从另一个链接),第一个的值根本不会清除.仅供参考,此kendo弹出窗口可重复使用.
例如:我有2个链接.链接A和链接B.
此链接将使用参数从控制器调用ActionResult.
链接A将生成text ='AAAAAAAAAAAAAA',而链接B将生成text ='BBBBBBBBBBB'
//In controller:
public ActionResult Caller(string param)
{
ViewModel viewModel = new ViewModel(); //This is a class that store a string.
if(param == "A")
{
viewModel.Result = "AAAAAAAAAAAAAA";
}
else
{
viewModel.Result = "BBBBBBBBBBB";
}
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
所以流程是:1.单击链接A.它将打开弹出窗口,其值为= AAAAAAAAAAAAAA.2.关闭弹出窗口.3.重新打开Link B的弹出窗口.有一段时间,它将保留AAAAAAAAAAAAAA,之后(可能大约需要2秒)它将变为BBBBBBBBBBB.
如果在连接速度较慢的情况下,将AAAAAAAAAAAAAA更改为BBBBBBBBBBB需要一些时间.
我的问题是:为什么弹出窗口不会弹出空白(它仍然在布局上保存旧值)?
维拉,提前谢谢