在razor if语句中调用javascript函数的问题

时间:2013-12-20 17:04:38

标签: c# javascript html razor view

我想做的是在视图中设置2个选择器框,一个选择器保存我的不同配置文件源。第二个根据您选择的来源保存配置文件名称。

我的问题是我想要一个特定的值放在数据库中,以便根据配置文件来源进行测试,这样我就可以根据所选的源提取正确的配置文件。

这是我目前的观点:

    <div class="managerField">
        <label for="Source Selector" class="label">Select Source:</label>
        <select name="SourceSelector" form="PostScheduler" class="select-style" onchange="sourceSelect(this.value)">
            <option value="" selected>Please Select Source</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
        </select>
    </div>
    <div class="managerField">
        <label for="ProfileSelector" class="label">Select Profile:</label>
        <!-- POPULATE BASED ON SOURCE SELECTED -->
        <select name="Profile Selector" class="select-style">
            @foreach (var p in Model.SocialProfiles.Where(pr => pr.SocialProfileTypeID == sourceSelect(SourceSelector))
            {
            <option value="@p.SocialProfileID">@p.ScreenName</option> 
            }
        </select>
    </div>

    @section Scripts
    {

<script type="text/javascript">
    function sourceSelect(el)
            {
                if (el == "") return 0; // Will need to catch
                if (el == "1") return 2;
                if (el == "2") return 6;
                if (el == "3") return 15;
            }
    }

任何帮助都会非常受欢迎。

1 个答案:

答案 0 :(得分:0)

实际上你只是在头上打了一下你不能在剃刀内调用javascript,我开发了一种新的方法点击通过JS调用它并取消了剃须刀。