gpt4 book ai didi

javascript - MVC、ascx 和 Javascript 最佳实践——如何创建自包含控件? NerdDinner 做错了

转载 作者:行者123 更新时间:2023-12-04 15:54:01 26 4
gpt4 key购买 nike

问题是如何在 ASP.Net MVC2 中创建控件/部分 View /edittemplates(ascx 文件),以便它们“自包含”。自包含在这里意味着如果一些 Javascript 代码应该应用到控件上,那不是包含在页面 (aspx) 中,而是包含在控件本身中。具体例子:NerdDinner 的 DateTime.ascx。该文件包含使文本框成为一个不错的日期时间选择器的 JS 代码。

我的问题:包含页面具有 jQuery.js、timepicker.js、jQueryUI 的 css 和日期选择器的 css。 (对于 NerdDinner,这些都在母版页中)。因此,每当我想为我的 DateTime 类型使用花哨的 DateTimePicker 时,包含页面必须了解这些依赖项,并且必须添加所有 js 和 css 文件。我想我在这里想念的是一个替代 ClientScript.RegisterClientScriptBlock 的解决方案。

同一个 NerdDinner 示例的其他问题:在 DateTime.ascx 中,它表示 $('#Dinner_EventDate') 依赖于容器类型和属性名称。这不是 DateTime 共享 EditorTemplate 的通用解决方案。

有什么建议吗?

最佳答案

您需要从页面链接到这些文件。否则将以您的方式破解这些元素包含在 html 中的方式与您的控件包含在页面中的位置。

我们所做的是将所有这些单独的 js/css 文件与一些额外的代码结合到一个文件中(一次完成)。这样,您只能从母版页链接到单个文件。只要里面没有特别重的东西,就非常合理。

对于 id 问题,将 jquery 更改为按 css 类搜索


原始答案:忽略下面,我认为它还没有在单独的文件中。

将它移动到一个 .js 文件中,并从使用 id 更改为使用类。

如果您想保持结构化/文件中的 .js 代码专用于该控件的代码,您可以这样做并添加一些额外的代码,将您站点中的所有各种 .js 文件连接到一个 .js 文件中。 .js 文件。这使您可以根据需要构建它,而不会收到不必要的额外请求。

关于javascript - MVC、ascx 和 Javascript 最佳实践——如何创建自包含控件? NerdDinner 做错了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com