Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 根据会话(用户类型),在ASP.NET MVC页面上显示特定的div_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 根据会话(用户类型),在ASP.NET MVC页面上显示特定的div

Asp.net mvc 根据会话(用户类型),在ASP.NET MVC页面上显示特定的div,asp.net-mvc,Asp.net Mvc,我有一个有两个DIV标签的视图页面。 如果会话[UserType]=“Guest”,那么我需要显示Guest DIV部分 Else If session[userType] = ‘Logged’ <div id="Logged" > <div class="txtContent"> <label for="product" class="Form_Label">product:<em>*</em></la

我有一个有两个DIV标签的视图页面。
如果会话[UserType]=“Guest”
,那么我需要显示Guest DIV部分

Else
If session[userType] = ‘Logged’
<div id="Logged" >
    <div class="txtContent">
        <label for="product" class="Form_Label">product:<em>*</em></label> 
        <%= Html.DropDownList("product", " -- Select one -- ")%>
    </div>
</div>

<div id="Guest">
    <label for="DeliveryMethod">Delivery Method: </label>
    <select name="DeliveryMethod" id="Select1" style="width: 100px">
        <option value="email">Email</option>
        <option value="fax">Fax</option>
        <option value="mail">Mail</option>
    </select>
</div>
,那么我就不需要显示来宾分区了

Else
If session[userType] = ‘Logged’
<div id="Logged" >
    <div class="txtContent">
        <label for="product" class="Form_Label">product:<em>*</em></label> 
        <%= Html.DropDownList("product", " -- Select one -- ")%>
    </div>
</div>

<div id="Guest">
    <label for="DeliveryMethod">Delivery Method: </label>
    <select name="DeliveryMethod" id="Select1" style="width: 100px">
        <option value="email">Email</option>
        <option value="fax">Fax</option>
        <option value="mail">Mail</option>
    </select>
</div>

产品:*
交付方式:
电子邮件
传真
邮寄
感谢您的回复


谢谢

听起来您可以使用jQuery或partialView

我的风格是基于决策点显示局部视图

请记住,您的页面中不应包含任何逻辑,因此您可能希望编写一个帮助器来为您做出决策

作为替代方案,您可以呈现页面,然后调用jQuery方法,该方法将根据发送给它的参数返回部分视图

如果你需要代码,请添加评论,我会发布一些

编辑

@丽塔,如果你很高兴在页面上显示HTML,你只想隐藏/显示div,那么下面是代码

<input type="hidden" id="hdnSessionValue" value="<%=session[UserType]">

<div id="Guest">
    <label for="DeliveryMethod">Delivery Method: </label>
    <select name="DeliveryMethod" id="Select1" style="width: 100px">
        <option value="email">Email</option>
        <option value="fax">Fax</option>
        <option value="mail">Mail</option>
    </select>
</div>

交付方式:
电子邮件
传真
邮寄
然后您有以下jQuery

<script language="javascript">
  $(document).ready( function () {
    if ( $('#hdnSessionValue').val() == "Guest")
      $('#Guest').show();
    else
      $('#Guest').hide();
  } );
</script>

$(文档).ready(函数(){
if($('#hdnSessionValue').val()=“Guest”)
$('#Guest').show();
其他的
$('#Guest').hide();
} );
Edit2


根据需要隐藏/显示的HTML数量,我认为不需要jQuery回发。

是的。我需要密码。谢谢格里格斯。谢谢你的时间。我试图把我的视图代码放在这里。不知怎的,它没有显示在这个Stackoverflow上。产品:*交付方式:电子邮件我更愿意选择另一种方式。使用JQuery方法加载它。这正是我想要的。太棒了。我实现了。很好。@Rita,别忘了点击答案旁边的勾号,将你使用的答案标记为正确答案。Griegs!我第一次做了标记,第二次想做更多标记。:-)出事了。这就是我将其标记为已接受答案的原因。:-)今天真的节省了很多时间。