首页 新闻 会员 周边

MVC 后台返回页面部分值不显示 江湖救急!!!

0
悬赏园豆:20 [已解决问题] 解决于 2020-11-27 11:15

点击编辑,内容不显示。

代码里赋值是有值的:

但是页面不显示:

哪位大佬知道,江湖救急啊!

依米呀的主页 依米呀 | 菜鸟二级 | 园豆:235
提问于:2020-11-26 19:33
< >
分享
最佳答案
0

返回頁面的Action 是否有Total 這個參數
有的話就是ModelState 問題
不懂的話可以做個測試

<input type="textbox" value="@Model.Total" />

把上面這行放在你的合計欄位旁做對照
如果上面這個Textbox 有值,那就是ModelState 問題

收获园豆:20
RosonJ | 老鸟四级 |园豆:4910 | 2020-11-26 20:25

有,明天我发截图给你看

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-26 21:12

你好,我返回的时候季度和合计都是有值的

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 09:01

@Yimi依米:
你有用我給的Textbox 測試嗎

RosonJ | 园豆:4910 (老鸟四级) | 2020-11-27 09:05

@RosonJ: 嗯,用input有值

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 09:06

@Yimi依米:
好,那幾乎可以確定是ModelState 問題
在Action return 前加上ModelState.Clear();
加上後,如果你原本的TextBoxFor 有值了
那處理方法有以下幾種

  1. 加上上面說的ModelState.Clear()
  2. 有問題的欄位不用使用@Html 產生控制項,改以純html撰寫
  3. Action 的傳入參數不要與 return 的Model 有重名
RosonJ | 园豆:4910 (老鸟四级) | 2020-11-27 09:11

@RosonJ: 不是很明白,但是我先试试看看

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 09:12

合计的我解决好了,但是季度的这个下拉框赋值怎么解决

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 09:26

@Yimi依米:
粗暴一點的寫法

<select style="width: 150px" name="Thequarter" id="Thequarter">
    <option value="0">-请选择-</option>
    <option value="1" @(Model.Thequarter == "1" ? "selected='selected'" : "")>第一季度</option>
    <option value="2" @(Model.Thequarter == "2" ? "selected='selected'" : "")>第二季度</option>
    <option value="3" @(Model.Thequarter == "3" ? "selected='selected'" : "")>第三季度</option>
    <option value="4" @(Model.Thequarter == "4" ? "selected='selected'" : "")>第四季度 </option>
</select>
RosonJ | 园豆:4910 (老鸟四级) | 2020-11-27 09:49

@RosonJ: 好的,谢谢啦!

依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 11:13
其他回答(1)
0
#在1,2,3,4季度时候可以用for循环渲染,如果其中4==4,option标签设置一个selected值

<select name="xx" id="xx">
	    <option value="4" selected="selected">4</option>
    </select>
select标签的属性
multiple : 布尔属性,设置后允许多选,否则只能选择一个
disabled : 禁用该下拉列表
selected : 首次显示时,为选中状态
value : 定义发往服务器的选项值
小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-11-27 09:35

我这样写
<select style="width: 150px" name="Thequarter" id="Thequarter">
<option value="0" selected="selected">-请选择-</option>
<option value="1" selected="selected">第一季度</option>
<option value="2" selected="selected">第二季度</option>
<option value="3" selected="selected">第三季度</option>
<option value="4" selected="selected">第四季度 </option>
</select>
编辑的时候有用,但是新增的时候默认选择了第四季度

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 09:44

@Yimi依米: 给你演示2段代码,你新建一个html页面跑一下就比较清楚讲的话讲不清

<select style="width: 150px" name="Thequarter" id="Thequarter">
<option value="0" selected="selected">-请选择-</option>
<option value="1" selected="selected">第一季度</option>
<option value="2" selected="selected">第二季度</option>
<option value="3" selected="selected">第三季度</option>
<option value="4" selected="selected">第四季度 </option>
</select> 
这段首先你multiple为false,代码自上而下运行,所有最终出现的是第四季
<select style="width: 150px" name="Thequarter" id="Thequarter" multiple="multiple ">
<option value="0" selected="selected">-请选择-</option>
<option value="1" selected>1</option>
<option value="2" selected="selected">2</option>
<option value="3" selected="selected">3</option>
<option value="4" selected>4 </option>
</select>
这段首先你multiple为ture,你看看效果,selected为ture也要看这样写
支持(0) 反对(0) 小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-11-27 09:51

@小小咸鱼YwY: 不行,

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-11-27 11:12

@Yimi依米: 渲染那段代码贴出来看看,用下markdow语法代码贴一下,说起来蛮费劲的改一下代码比较直观

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-11-27 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册