部署网站的新版本后,浏览器会从旧网页的缓存中加载所有内容,直到完成硬性强制刷新。
在ASP.NET MVC该文件成为捆绑,它通过优化框架处理。添加到您的文件链接的版本,如果您的包文件发生更改,则会生成新令牌。按照下面的代码:
例如,js文件名是:datatables
当你把它放在同名的包中时,你会看到
datatables?v=anY9_bo7KitrGnXQr8ITP3ylmhQe9NDzSjgLpLQWQFE1
Run Code Online (Sandbox Code Playgroud)
作为文件名。更改datatables并在浏览器中再次查看文件名,肯定会更改:
datatables?v=r8yhQBxKyDgrOGyqr1ndtdG92Ije09nqTY7yogrOSTk1
Run Code Online (Sandbox Code Playgroud)
但是有两个问题:
给出以下interface默认实现:
public interface IState
{
string Name => "Unknown";
}
Run Code Online (Sandbox Code Playgroud)
以及一个具体的实现如下:
public class Demo: IState
{
public void PrintName()
{
Console.WriteLine(this.Name); // <-- this is invalid syntax
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以从具体类型中调用默认实现?
我已经查看了 C# 8.0 的默认实现的文档 ,如果答案在那里,我无法发现它。
我对捆绑程序相当陌生,rollup特别是。rollup.config.js在构建生产时有条件地散列文件名,同时保存index.html以引用新版本.css和.js 散列版本的最佳方法是什么?
我在文档中看到了这一点,但我想我不知道如何根据dev/prod设置有条件地设置这些选项?
output: {
sourcemap: true,
format: 'iife',
name: 'app',
file: 'public/build/bundle.js'
// entryFileNames : 'bundle[hash].js
},
Run Code Online (Sandbox Code Playgroud)
或者正在使用rollup-plugin-hash更好的解决方案?仍然不确定更新的最佳实践是什么index.html
(以及清单文件选项提供什么?)
我正尝试通过Ajax仅向控制器发送2个ID,如下所示,但是该模型完全为空。
我的视图模型非常简单,如下所示:
public class CityAreaBindingModel
{
public int CityID { get; set; }
public int AreaID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
查看:两个下拉列表,可帮助选择城市和区域
<select class="form-control" id="CityID" name="CityID">
@{
foreach (var city in ViewData["Cities"] as List<SamsungTools.Models.City>)
{
<option value="@city.ID" @(city.ID == 1 ? "selected" : "")>@city.Title</option>
}
}
</select>
<select class="form-control" id="AreaID" name="AreaID">
@{
foreach (var area in ViewData["Areas"] as List<SamsungTools.Models.Area>)
{
<option value="@area.ID" @(area.ID == 1 ? "selected" : "")>@area.Title</option>
}
}
</select>
Run Code Online (Sandbox Code Playgroud)
Ajax:将formData与视图中的两个选定ID结合使用
var cId = $('#CityID').val();
var aId = …Run Code Online (Sandbox Code Playgroud)