我正在尝试为FAST搜索开发自定义的SharePoint 2010 Web部件.我使用的Microsoft.Office.Server.Search.Query.KeywordQuery
是这样的东西:
var FASTquery = new KeywordQuery(proxy)
{
ResultsProvider = SearchProvider.FASTSearch,
QueryText = queryText,
ResultTypes = ResultType.RelevantResults | ResultType.RefinementResults
};
FASTquery.SelectProperties.AddRange(
new string[] { "Title", /* ..., */ "HitHighlightedSummary" });
ResultTableCollection searchResults = FASTquery.Execute();
Run Code Online (Sandbox Code Playgroud)
我继续绑定searchResults[ResultType.RelevantResults]
到一个Repeater
控件.我试图通过调用来显示"点击突出显示的摘要" FASTquery.HighlightStringValue()
.我传递的价值是HitHighlightedSummary
来自searchResults
.搜索"ear"时搜索结果的示例如下:
<ddd/>FALSE ); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_STATIC)->EnableWindow<ddd/>FALSE ); GetDlgIte(IDC_<c0>EAR</c0>_PAIN_ABSENT_RADIO<ddd/>FALSE ); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_MILD_RADIO<ddd/>
Run Code Online (Sandbox Code Playgroud)
但是,当使用这样的字符串调用时,FASTquery.HighlightStringValue()
会抛出一条System.ServiceModel.FaultException
消息"值不在预期范围内".
将此摘录转换为HTML的正确方法是什么,还是应该HighlightStringValue()
使用其他值调用?文档不是特别有用.
public IList<IList<int>> FunctionName(...)
{
var list = new List<List<int>>();
...
//return list; // This doesn't compile (error listed below)
return (IList<IList<int>>)list; // Explicit cast compiles
}
Run Code Online (Sandbox Code Playgroud)
当我直接返回"list"时,我收到此错误:
> "Cannot implicitly convert type
> 'System.Collections.Generic.List<System.Collections.Generic.List<int>>'
> to
> 'System.Collections.Generic.IList<System.Collections.Generic.IList<int>>'.
> An explicit conversion exists (are you missing a cast?)"
Run Code Online (Sandbox Code Playgroud)
接口返回类型不应该接受任何派生实例吗?
如何通过Management Studio在10秒内运行存储过程,但是通过TableAdapter为相同的输入花费15分钟?它是可重复的,这意味着我在每个环境中至少运行了三次,而Management Studio的速度通常要快100倍.
我正在使用.net 2.0和SQL Server 2000
在SQL Server Management中,我正在执行它:
EXEC [dbo].[uspMovesReportByRouteStep]
@RouteStep = 12000,
@RangeBegin = N'12/28/08',
@RangeEnd = N'1/18/9'
Run Code Online (Sandbox Code Playgroud)
在TableAdapter中,我正在使用a StoredProcedure
CommandType
和dbo.uspMovesReportByRouteStep
for CommandText
.我正在从ASP.NET页面调用表适配器,但如果我尝试在本地"预览数据",它会在30秒内超时.
提供存储过程是不切实际的,因为它超过100行,依赖于同一数据库和其他数据库上的许多其他UDF和视图.
所有其他存储过程似乎使用任一方法在大约相同的时间运行.这怎么可能?
我有一个用户控件,其中包含以下代码.
[System.ComponentModel.Category("Appearance")]
public override string Text { ... }
private int myVar;
[System.ComponentModel.Category("Appearance")]
public int MyProperty { ... }
Run Code Online (Sandbox Code Playgroud)
MyProperty
当控件插入表单时,Text
会显示在属性网格中,但不会.我怎样才能看到它?
c# propertygrid user-controls visual-studio-2005 windows-forms-designer
我在VS2005中运行的程序和直接运行可执行程序之间遇到了一个奇怪的区别.实质上,当在Application.DoEvents()
调用内的方法中抛出异常时,在Visual Studio中运行时可以捕获异常.运行已编译的可执行文件时,不会捕获异常并且程序崩溃.
这是一些简单的代码来演示这个问题.假设标准winforms样板和两个按钮和一个标签.
要运行此操作,请单击开始按钮以开始10秒计数.在10秒钟之前,按下中止按钮.并且会抛出异常DoEvents()
.应该抓住例外.这只发生在Visual Studio中运行时.
private void StartButton_Click(object sender, EventArgs e) {
DateTime start = DateTime.Now;
try {
while (DateTime.Now - start < new TimeSpan(0, 0, 10)) {
this.StatusLabel.Text = DateTime.Now.ToLongTimeString();
Application.DoEvents();
}
MessageBox.Show("Completed with no interuption.");
} catch (Exception) {
MessageBox.Show("User aborted.");
}
}
private void ButtonAbort_Click(object sender, EventArgs e) {
throw new Exception("aborted");
}
Run Code Online (Sandbox Code Playgroud)
我希望能够捕获这些异常.有没有办法使它工作?
更新:
我愿意考虑除了重新引入头痛的方法之外的其他方法DoEvents()
.但我还没有找到一个似乎更好的工作.我的情况是,我有一个长时间运行的循环,它控制着一些科学仪器,经常需要等待温度稳定或什么的.我想让我的用户能够中止进程,所以我有一个中止按钮,只是抛出一个自定义异常,我打算在最初启动进程的站点捕获.这似乎是一个完美的解决方案.除了由于某种原因它不起作用的事实.
如果无法实现这一点,那么有更好的方法吗?
更新2:
当我将它添加为Main()的第一行时,这使它作为可执行文件工作,但不在VS中,因此情况相反.疯狂的是,它似乎是一个无操作.我能理解这是怎么回事.
Application.ThreadException += delegate(
object sender,
System.Threading.ThreadExceptionEventArgs e
)
{ throw e.Exception; }; …
Run Code Online (Sandbox Code Playgroud) 我知道协方差,而且我知道一般来说,直到v4.0才能在C#中实现.
但是我想知道一个具体的案例.有没有得到转换的一些方法IQueryable<Derived>
,以IQueryable<Base>
通过某种方式创建一个包装类,实际上并不执行查询,但是实际上可以"通过"一个.Where<>()
电话吗?
我的用例是我正在尝试处理具有许多类似表的数据库模式.大多数字段都是共同的,需要在每个表上查询许多常见字段.我正在使用LinqToSql.我希望避免重复每个表的所有查询.
我知道他们与代表有关.我试过但我仍然不理解如何使用它们.我对事件处理程序有一点了解,但我真正想知道的是如何使用普通的旧事件,这是大多数方法的一部分.以下示例
void Page_Load(object sender, EventArgs e)
{
myText.Value = "Hello World!";
}
Run Code Online (Sandbox Code Playgroud)
感谢您的时间和考虑,我只是想成为最好的编码器.
麦克风
嘿所有,有一个问题让asp按钮与JQuery交互.我基本上试图隐藏包含表单的div并用处理图像替换它.当我使用HTML输入按钮作为触发器时它对我来说很好,但是当我使用aspButton时没有任何反应.
这是有效的(HTML按钮的id是'btnSubmit'):
<script>
$('#btnSubmit').click(function () {
$('#form1').fadeOut('fast', function () {
$('#processing').fadeIn('fast', function () {
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这不是(ASP按钮的id是'btnSubmitASP'):
<script>
$('#btnSubmitASP').click(function () {
$('#form1').fadeOut('fast', function () {
$('#processing').fadeIn('fast', function () {
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
知道诀窍是什么让asp按钮这样做?
谢谢
我已经创建了一个新的html辅助方法,用于在剃刀视图引擎中创建图像标记:
public static MvcHtmlString Image(this HtmlHelper helper, string fileName, string altText,
string cssClass = null, string id = null, string style = null)
{
var server = HttpContext.Current.Server;
string location = server.MapPath("~/Content/Images/" + fileName);
var builder = new TagBuilder("img");
builder.Attributes["src"] = location;
builder.Attributes["alt"] = altText;
if (!string.IsNullOrEmpty(cssClass)) builder.Attributes["class"] = cssClass;
if (!string.IsNullOrEmpty(id)) builder.Attributes["id"] = id;
if (!string.IsNullOrEmpty(style)) builder.Attributes["style"] = style;
string tag = builder.ToString(TagRenderMode.SelfClosing);
return new MvcHtmlString(tag);
}
Run Code Online (Sandbox Code Playgroud)
我认为这种方法可能有效,但我在调用它时遇到了问题.在我看来,我有:
@Html.Image("getstarted-promo.jpg", "Get Started", style = "width: 445; height: 257;")
Run Code Online (Sandbox Code Playgroud)
加载视图时,我收到此编译器错误:
CS0103:当前上下文中不存在名称"style" …
我正处于混乱、冲突的 git 合并操作之中。由于某种原因,我忘记了当前正在合并哪些分支或提交。如何查看启动当前合并操作的提交列表?
c# ×6
.net ×2
asp.net ×2
covariance ×2
doevents ×1
eventargs ×1
exception ×1
fastsearch ×1
git ×1
git-merge ×1
interface ×1
iqueryable ×1
jquery ×1
keywordquery ×1
linq-to-sql ×1
propertygrid ×1
razor ×1
sharepoint ×1
sql-server ×1
tableadapter ×1
timeout ×1