小编Mik*_*Dev的帖子

缓存静态表Mysql

使用MYSQL,使用EF 5.x和MVC3.我有一个大约320万行的表,有城市,乡村组合.我在客户端有一个自动完成文本框,它接受城市的搜索词并使用jQuery/ajax发回建议.

我面临的挑战是,当我第一次使用它时,我将这个表缓存到我的内存中:

        CityData = DataContext.Citys.OrderBy(v => v.Country).ToList();

        if (CityData.Any())
        {
            // Put this data into the cache for 30 minutes
            Cache.Set("Citys", CityData, 30);
        }
Run Code Online (Sandbox Code Playgroud)

即使我将db-context超时设置为5分钟,这也会超时.当我使用MySQL客户端对数据库运行此SQL时,需要大约3分钟来拉取所有行.

将此数据读入缓存的最佳方法是什么,或者我应该做些不同的事情?如果是这样,我可以将表直接缓存到MySQL缓存中吗?或者我应该将术语搜索直接发送到DB而不是使用缓存中的数据.

c# mysql asp.net-mvc caching entity-framework

5
推荐指数
1
解决办法
593
查看次数

getView()不能抛出异常

我做了一个SingleItemAdapter扩展ArrayAdapter,这个定制的适配器用于ListView.

在这里SingleItemAdapter,我做了一些数据库的东西,所以我想在getView()初始化GUI的方法中抛出异常.

public View getView(int position,View convertView,ViewGroup parent)抛出异常会得到Exception Exception is not compatible with throws clause in ArrayAdapter.getView(int, View, ViewGroup)

ArrayAdapter,BaseAdapter,Adapter不会抛出异常,为什么呢?

java android

4
推荐指数
1
解决办法
695
查看次数

让Styles.Render()保留Razor模板的缩进?

我对所有标记的可读性(以及因此缩进)略显痴迷.

当我调用@Styles.Render("~/content/css")ASP.NET MVC4项目时,只有第一行保留了我的Razor模板的缩进.

这是输出:

    <link href="/Content/css/ie.css" rel="stylesheet"/>
<link href="/Content/css/1140.css" rel="stylesheet"/>
<link href="/Content/css/screen.css" rel="stylesheet"/>
<link href="/Content/css/compatibility.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

我希望所有生成的标记都具有与@Styles.Render()调用相同的缩进.

这很容易吗?如果是这样,怎么样?

asp.net indentation razor asp.net-mvc-4 bundling-and-minification

4
推荐指数
1
解决办法
1294
查看次数

如何使用document.referrer获取网址的各个部分?

我需要使用document.referrer以获取以前的URL我还需要能够获取URL的部分,如:

window.location.protocol
window.location.host
window.location.pathname
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何做到这一点document.referrer.有人有任何想法吗?

javascript

4
推荐指数
2
解决办法
9791
查看次数

在EditorFor和DisplayFor之间切换

我有一个局部视图,它被设置为一个表格/网格显示来自数据库的记录 - 我可以轻松地显示该行的显示或编辑器模板,但是如何切换行displayForeditorFor我点击和编辑时保存链接?

<div id="compQuestionListContainer">
    <div class="divQuestionItems">
        <div class="divQuestionItemsHeaderRow">
            <div class="QuestionHeader">Question Type</div>
            <div class="QuestionHeader question-name">Question Name</div>
            <div class="QuestionHeader question-required">Required</div>
            <div class="QuestionHeader question-group">Question Group</div>
            <div class="QuestionHeader">Modified By</div>
            <div class="QuestionHeader">Modified Date</div>
            <div class="QuestionHeader question-edit">Edit</div>
            <div class="QuestionHeader question-delete">Delete</div>
        </div>
        <div class="divOrderItemsBody">
            @Html.EditorFor(m => m.CompetitionQuestionList)
            @Html.DisplayFor(m => m.CompetitionQuestionList)
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor

4
推荐指数
1
解决办法
1753
查看次数

在动态创建PDF之前显示加载屏幕

我有一个视图,而不是返回a View(),返回动态创建的PDF,然后在新选项卡中显示PDF.我不是在任何地方保存PDF或将其存储在任何地方.我想要做的是在创建PDF时显示加载屏幕.可以这样做吗?

public ActionResult SolicitorActionReport_Load(SolicitorActionParamsViewModel viewModel) {
    var cultivationModel = new CultivationModel(viewModel, ConstituentRepository, CampaignRepository);
    var cultivationData = cultivationModel.GetCultivationActivityData();
    var reportParamModel = new List<ReportParamModel>
                                   {new ReportParamModel {AgencyName = SelectedUserAgency.AgencyName, StartDate = viewModel.StartDate, EndDate = viewModel.EndDate}};

    var reportToRun = "ActionDateCultivationReport";
    if (viewModel.SortActionBy == SolicitorActionReportSortType.Constituent) {
        reportToRun = "ConstituentCultivationReport";
    } else if (viewModel.SortActionBy == SolicitorActionReportSortType.Solicitor) {
        reportToRun = "SolicitorCultivationReport";
    }

    return FileContentPdf("Constituent", reportToRun, cultivationData, reportParamModel, new List<FundraisingAppealMassSummary>(), new List<FundraisingAppealPortfolioSummary>());
}



public FileContentResult FileContentPdf(string folder, string reportName, object dataSet,object reportParamModel,object appealMassDataSet, object appealPortfolioDataSet) …
Run Code Online (Sandbox Code Playgroud)

c# pdf asp.net-mvc

4
推荐指数
1
解决办法
2811
查看次数

ASP.NET Response.Filter

我需要创建<h2>将HTML中的标签替换为的过滤器<h3>

我的过滤器

public class TagsFilter:Stream
{
    HttpContext qwe;

    public TagsFilter(HttpContext myContext)
    {
        qwe = myContext;
    }

    public override void Write(byte[] buffer, int offset, int count)
    {
        string html = System.Text.Encoding.UTF8.GetString(buffer);
        html = html.Replace("<h2>", "<h3>");
        qwe.Response.Write(html.ToCharArray(), 0, html.ToCharArray().Length);
    }
Run Code Online (Sandbox Code Playgroud)

我的模块

public class TagsChanger : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.Response.Filter = new TagsFilter(context.Context);
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误System.Web.HttpException:在这种情况下,答案不可用。

asp.net filter response.filter

3
推荐指数
1
解决办法
1万
查看次数

扩展HTML Helper

我想要生成的代码类似于:

<div class="form-group">
    <label for="email">Email address</label>
    <input type="email" class="form-control" id="email" placeholder="Enter email">
</div>
Run Code Online (Sandbox Code Playgroud)

使用这样的东西:

@Html.LabelledTextBoxFor(model => model.EmailAddress)
Run Code Online (Sandbox Code Playgroud)

标签文本从model.EmailAddress派生的位置

这将使用数据注释来完成,例如

[Displayname("Email Address]
Run Code Online (Sandbox Code Playgroud)

完成此任务的最佳方法是什么?

这会影响使用jquery val的自动生成的客户端JS验证吗?

html c# asp.net-mvc razor twitter-bootstrap

3
推荐指数
1
解决办法
3186
查看次数

PDF强制下载而不是在浏览器中打开

我正在使用RazorPDF,我想强制下载PDF而不是在浏览器选项卡中打开.我该怎么做呢?谢谢

public ActionResult Index()
{
    return View();
}

[HttpPost]
public ActionResult Index(string Id)
{
    return RedirectToAction("Pdf");
}

public PdfResult Pdf()
{
    // With no Model and default view name.  Pdf is always the default view name
    return new PdfResult();
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-4 razorpdf

3
推荐指数
1
解决办法
1654
查看次数

拒绝访问html页面

我有ASP.NET Web Forms项目.我Demo在这个项目中创建了一个文件夹并放入了这个文件夹HelloWorld.html.我需要拒绝所有用户访问此html(重要的不是asp)页面.我怎样才能做到这一点?

我试过这种方式,但它不起作用(但它与asp页面完美配合).

<configuration>
    <location path="Demo/HelloWorld.html">
        <system.web>
            <authorization>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

asp.net

3
推荐指数
1
解决办法
2043
查看次数