You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC页面HTML元素对齐与列表框宽度调整求助

嘿,我来帮你搞定这两个布局问题!先说说你当前代码里的几个关键问题,再给你修改后的完整方案:

问题1:列表框无法并排显示的核心原因

你现在的代码有两个导致布局错乱的问题:

  1. HTML不允许嵌套form元素:你外层已经有一个<form>标签,结果每个列表框又套了一个独立的Html.BeginForm,浏览器会自动修正这种无效结构,直接导致布局混乱。
  2. inline元素无法很好包裹块级内容:你给li设置了display: inline,但内部的form(块级元素)还是会强制换行,改成inline-block才能让li真正并排。

问题2:列表框宽度不生效的原因

Html.ListBox生成的是<select multiple>元素,它的默认宽度是由内部最长的选项文本决定的。你需要直接给这个select元素设置宽度样式,要么通过HTML属性,要么用CSS统一控制。


修改后的.cshtml代码

<div style="width:100%;">
    <!-- 把所有控件放在同一个表单里,移除内部的嵌套form -->
    <form method="post" asp-controller="Home" asp-action="ScoreData">
        <div id="div_top_hypers">
            <ul id="ul_top_hypers">
                <li>
                    <label>List of Users</label>
                    <br />
                    <!-- 给ListBox添加width样式,第三个参数是HTML属性 -->
                    @Html.ListBox("usersList", null, new { style = "width: 200px;" })
                </li>
                <li>
                    <label>List of Users2</label>
                    <br />
                    @Html.ListBox("usersList2", null, new { style = "width: 200px;" })
                </li>
            </ul>
            <input type="submit" value="Generate reports" />
        </div>
    </form>
</div>

修改后的CSS代码

#div_top_hypers { 
    background-color: #eeeeee; 
    padding: 12px; /* 加内边距,避免内容贴在背景边缘 */
}

#ul_top_hypers {
    list-style: none; /* 去掉默认的列表圆点 */
    padding: 0; /* 清除默认内边距 */
    margin: 0 0 15px 0; /* 给列表和提交按钮留间距 */
}

#ul_top_hypers li { 
    display: inline-block; /* 让li并排显示 */
    margin-right: 30px; /* 两个列表之间的间距 */
    vertical-align: top; /* 让两个列表顶部对齐 */
}

#ul_top_hypers label {
    display: block; /* 让标签独占一行,布局更清晰 */
    margin-bottom: 6px; /* 标签和列表框之间的小间距 */
}

额外说明

  1. 现在两个列表框会并排显示,宽度固定为200px,不会随选项长度变化。如果选项文本过长,会自动出现横向滚动条,这是正常的。
  2. 所有控件都在同一个表单里,提交时能正确传递两个列表框的选中值。
  3. 移除了废弃的align="left"属性,用CSS控制布局更符合现代规范。

内容的提问来源于stack exchange,提问作者NRB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 09:27:53