【问题标题】:Bootstrap Popover doesn't work with MVC3Bootstrap Popover 不适用于 MVC3
【发布时间】:2012-12-27 18:52:33
【问题描述】:

我正在尝试将"popover""@Html.PasswordFor" MVC 辅助元素一起使用,但只显示标题而不显示内容。 代码是:

 @Html.PasswordFor(model => model.Password, new {rel = "popover", 
                   data_original_title = "Choose new password",  
                   data_content = "minimum 8 chars"})

它会生成这样的 HTML 代码:

<input rel="popover" data-original-title="Choose new password" 
       data-content="minimum 8 chars" id="Password" name="Password"
       type="password" 
/>

Javascript 代码

$(document).ready(function () {
    $("#Password").popover({ trigger: 'hover' });   
});

该代码有效,但仅显示标题(“选择新密码”)而不显示内容(“最少 8 个字符”)

我尝试直接编写 HTML 代码,它工作正常,而且是相同的代码!!!但使用 Razor 语法不起作用。

谁能帮帮我? 我添加了一张带有结果的图片

【问题讨论】:

  • 如果您直接使用 HTML 并且它可以工作,但它不适用于 Razor,那么 Razor 必须 不会生成您认为的 HTML。请检查 HTML 页面的源代码并将生成的标记与您知道有效的副本进行比较。不同之处在于你的问题。
  • Razor生成的代码一模一样,其实我复制了Razor生成的代码,进行测试。使用的 HTML 代码是 Razor 生成的代码(并且工作正常)
  • 不是我不相信你,只是看起来不太可能。如果您说的是真的,则意味着a)您的浏览器有某种方式知道什么技术正在为标记提供服务(它没有)并选择采取不同的行动,或者b)您的浏览器在呈现时间歇性地表现不同相同的标记(不太可能)。更可能的原因是标记略有不同。我现在没有时间自己尝试这个,但如果仍然没有解决方案,我今晚会自己尝试。
  • 我自己对此进行了测试,一切都按预期工作。我确保我使用的是最新的 jQuery (1.8.3) 和最新的引导程序 (2.2.2),并确保我的页面上存在 JS 块。我对您的唯一建议是使用 Firebug 来确保您的所有资源文件(JS 和 CSS)都存在并查找 CSS 故障或 JS 错误。除此之外,您发布的代码可以正常工作;您的问题必须超出您的问题所包含的范围。祝你好运!
  • 您是否检查了绑定弹出框时的 data-content 值是多少?像 alert($('#Password').data('content'));只是为了确保 MVC 不显眼的东西不会覆盖这个值。

标签: asp.net-mvc asp.net-mvc-3 css twitter-bootstrap


【解决方案1】:

问题在于 CSS 类(“input-prepend”) 我在该类的 DIV 中有一个“输入”控件。 “bootstrap.css”中的那个类“定义了字体大小:0;”所以我看不到文字,虽然标题可以正常看到。感谢 Jesse Webb 和 Miika L

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多