首先,我需要解释我的问题,我有一个原生查询应用程序,其中某人键入"选择....这个和那个",输出当前显示在分页的网格中,我被要求添加一个按钮,将数据直接从无类型数据流导出到Excel.我发现的当前代码使用网格,但仍然没有提示我出于某种原因下载.xls文件.
[Authorize(Roles = "Portal administrator")]
public void ExportExcel(NativeQueryVM model, int? page, string sort)
{
List<Dictionary<string, object>> result = null;
String vartimedate = DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
try
{
var user = Membership.GetUser();
var grid = new System.Web.UI.WebControls.GridView();
if (page == null && sort == null)
{
if (model.QueryText.ToUpper().StartsWith("SELECT"))
{
UserQueryInput queryinput = new UserQueryInput();
queryinput.DatabaseId = model.selectedDatabase;
queryinput.QueryText = model.QueryText;
result = lookupProvider.GetSetNativeQuery((Guid)user.ProviderUserKey, user.UserName, queryinput, "Set");
model.QueryResultData = result;
ViewBag.SubmitType = "Select";
CreateDynamicResult(model.QueryResultData);
if (model == null || model.QueryResultData.Count == 0)
{
ViewBag.ResultMessage …Run Code Online (Sandbox Code Playgroud) 如何检查ExecuteNonQuery for SELECT sql语句后返回没有行返回没有行?
我有一个Repeater包含标记为"更改成员资格"的链接,当点击该链接时会打开一个带有a radiobuttonlist和a 的灯箱button.当点击灯箱中的按钮时,我有一个回调事件,我需要先找到radiobutton列表的选定值,这里是转发器:
<script language="JavaScript" type="text/javascript">
function CreateBox(id) {
$(document).ready(function () {
$("#lnk" + id).fancybox({
'closeBtn': true,
helpers: {
overlay: { closeClick: false }
}
});
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
<asp:Repeater ID="repProspects" runat="server" OnItemDataBound="repProspects_ItemDataBound">
<ItemTemplate>
<asp:HiddenField ID="hfRequestID" runat="server" Value='<%# DataBinder.Eval(Container, "DataItem.RequestID") %>' />
<asp:HiddenField ID="hfRecruiterNumber" runat="server" Value='<%# DataBinder.Eval(Container, "DataItem.RecruiterCardNumber") %>' />
<asp:HiddenField ID="hfCompanyID" runat="server" Value='<%# DataBinder.Eval(Container, "DataItem.CompanyID") %>' />
<asp:HiddenField ID="hfMemberType" runat="server" Value='<%# DataBinder.Eval(Container, "DataItem.MemberType") %>' />
<asp:HiddenField ID="hfLifeDuesAmount" runat="server" Value='<%# DataBinder.Eval(Container, "DataItem.Dues") %>' …Run Code Online (Sandbox Code Playgroud) 我打算使用以下示例在我的 api 上创建分页: https: //www.codeproject.com/Articles/1073488/Paging-in-ASP-NET-Web-API 我已经实现了所有代码及其运行直到我输入了以下代码行:
var results = await projection.ToListAsync();
Run Code Online (Sandbox Code Playgroud)
那么它会导致运行时错误:
“源 IQueryable 的提供程序未实现 IDbAsyncQueryProvider...”
我研究了这个错误并尝试在 Global.asax.cs 文件中初始化映射器,如下所示:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
Mapper.Initialize(cfg => cfg.CreateMap<Logging.Models.LogsModel, Log>());
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
}
Run Code Online (Sandbox Code Playgroud)
这并不能解决问题,有人知道我在初始化 Automapper 时做错了什么吗?
提前致谢。
这是我的控制器中的实现代码:
public async Task<IHttpActionResult> Get(int? page = null, int pageSize = 10, string orderBy = nameof(LogsModel.Id), bool ascending = true)
{
if (page == null)
{
return Ok(_repository.GetLogs());
}
else
{
var returnList = _repository.GetLogs().AsQueryable();
returnList = returnList as IQueryable<LogsModel>;
var logsout = await CreatePagedResults<LogsModel, …Run Code Online (Sandbox Code Playgroud)