asp.net - 使用 jQuery 使用数据库中的值设置背景颜色

标签 asp.net javascript jquery

我正在寻找一个示例,说明如何从数据库读取值并在 jQuery 脚本中使用它来设置控件的背景颜色。我还在学习 jQuery,我不清楚如何从数据库获取值。我正在使用 ASP.NET MVC,并且我的表单已经在提取该值 - 我是否需要将其放入隐藏字段并以这种方式使用它,或者是否有更好/不同的方式将颜色值传递给 jQuery?

最佳答案

我可以想到几种不同的方法来做到这一点,其中一些不使用 jQuery,具体取决于您想要完成的任务。

主题

开发自定义 CSS 并让您的 View 根据数据库中的选择选择要使用的 CSS 文件。这将是基于数据库字段的值构造 CSS 链接的 View 代码。将类从主题应用到您的控件(每个主题都具有相同的类,只是每个主题的设置不同)。

 <link href='<%= Url.Content( "~/Content/styles/" + Model.Theme ) %>'
       type="text/css"
       rel="stylesheet" />

用户偏好

您希望用户能够实际更改特定元素的外观和感觉,而不仅仅是选择主题。在这种情况下,有几个不同的选项 - 一个有一个帮助器,根据数据库值为用户生成自定义 CSS - 再次使用公共(public)类,以便您可以使用类来设计控件的样式。从 View 中调用此帮助程序,并将正确的 CSS 直接注入(inject)到页面中,或者作为指向生成 CSS 以响应链接的操作的链接。或者,我不喜欢这个选项,使用 View 布局在控件本身上设置样式属性,并从 ViewData 获取背景颜色属性的值。

<link href='<% Url.Action("css","generate", new { id = Model.UserID } ) %>'
      type="text/css"
      rel="stylesheet" />


<div style='background-color: <%= ViewData["controlBackgroundColor"] %>;'></div>

动态变化

您希望根据用户操作动态更改颜色,并让新颜色来自数据库。在这种情况下,您可以将颜色注入(inject)到 jQuery 直接所在的脚本标记中。

<script type="text/javascript">
     $(document).ready( function() {
         $('#someButton').click( function() {
              $('#someControl').css('background','<%= ViewData["controlBackground"] %>');
         });
     });
</script> 

我认为没有必要使用隐藏字段。

关于asp.net - 使用 jQuery 使用数据库中的值设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760496/

相关文章:

javascript - 带有特殊符号自动完成功能的自由文本输入

javascript - 无法从响应 JSON 中删除 html 标签

javascript - 如果单击禁用的输入按钮,则显示消息

c# - 将数据行值与 if 中的字符串进行比较

c# - 如何使用/引用 JavaScript 函数中的选定值 (TextBox) 到 C# 代码隐藏中?

c# - 解决方案中有多个 IoC 容器是否存在问题?

JavaScript onClick 方法更改图像的 CSS 属性

javascript - 如何处理这个指向最上面的封闭 fn ?

c# - 将控件添加到表格内的innerhtml div

javascript - jQuery 切换 - 图标切换点击?