javascript asp.net telerik

javascript - Anexar cadena de consulta en el valor de propiedad de ruta<asp: ScriptReference>



asp.net telerik (1)

¿Has intentado generar la ruta a través del código del servidor?

protected void Page_Load(object sender, EventArgs e) { string path = string.Format("~/JavaScript.js?ver={0}", "versionNumber"); ScriptReference sr = new ScriptReference(path); RadScriptManager1.Scripts.Add(sr); }

O bien, puede agregar la etiqueta <script> después del administrador de scripts, no habrá diferencia

<telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <script src="../Scripts/MyScript.js?ver=<%=WebSettings.Version%>"></script>

Debido a que evita que el cliente use el navegador en caché, el archivo JavaScript antiguo, anexo una cadena de consulta a la ruta del archivo de script en mi aplicación web ASP.NET, y el contenido de la cadena de consulta proviene del código del lado del servidor. En el elemento HTML plano como:

<script src="../Scripts/MyScript.js?ver=<%=WebSettings.Version%>"></script>

La salida del cliente sería:

<script src="../Scripts/MyScript.js?ver=20160810"></script>

y funciona bien Pero este enfoque no funciona en <asp: ScriptReference>. Si uso este código:

<asp:ScriptReference Path="~/Scripts/MyScript.js?ver=<%=WebSettings.Version%>"/>

parece que ASP.NET tratará todo el contenido sobre el valor de Path como una cadena y ejecutará codificación HTML en él, y reproducirá dicho resultado:

<script src="../Scripts/MyScript.js?ver=&lt;%=WebSettings.Version%>"></script>

Como <asp: ScriptReference> es un nodo secundario de <telerik: RadScriptManager> que no puedo simplemente modificar como una etiqueta HTML simple, ¿cómo puedo agregar una cadena de consulta dinámica en la ruta de <asp: ScriptReference> para resolver el JavaScript? problema de control de versiones de archivos?