Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Strongly-Typed Model Not Posting from Partial View
- public class PreferencePrograms : List<PreferenceProgram>
- @model ProfilePreferenceCenterProto.Models.UserViewModel
- @{ Html.RenderPartial("Preferences", Model); }
- @model ProfilePreferenceCenterProto.Models.UserViewModel
- <div id="accordian">
- @using(Ajax.BeginForm("PreferencesSubmit", "Profile", new AjaxOptions{ UpdateTargetId = "accordian" })){
- <div id="accordion">
- <ul class="tabs">
- </ul>
- <div class="panes">
- <div>
- @{
- List<string> AffiliateNames = new List<string>();
- foreach(ProfilePreferenceCenterProto.Models.PreferenceProgramModel list in Model.PrefPrograms)
- {
- AffiliateNames.Add(list.SubcategoryName);
- }
- IEnumerable<string> listNames = AffiliateNames.Distinct();
- int counter = 0;
- }
- @foreach (string AccordionTabName in listNames)
- {
- <h2>@AccordionTabName</h2>
- <div class="pane" @if (counter == 0){ <text>style="display:block;"</text> } >
- <table>
- <tr class="row">
- <th class="name">Subscription</th>
- <th class="icon">Email</th>
- <th class="icon">SMS</th>
- <th class="icon">Facebook</th>
- <th class="icon">Mail</th>
- <th class="icon">Phone</th>
- </tr>
- @{
- counter++;
- var TabPrograms = (from l in Model.PrefPrograms
- where l.SubcategoryName == @AccordionTabName
- select l);
- }
- @Html.EditorFor(m => TabPrograms)
- </table>
- </div>
- }
- </div>
- </div>
- </div>
- <div align="center"><input type="submit" value="Save Preferences" /></div>
- @model ProfilePreferenceCenterProto.Models.PreferenceProgramModel
- <tr class="row">
- <td class="name">@Model.ListName</td>
- <td class="icon">
- @if (Model.EmailEnabled)
- {
- <a id="@Model.EmailFilterID" href="#" onclick="ImageClick(@Html.IdFor(m => m.EmailStatus));"><img height="25" width="28" src="@Model.Email_Icon_NotSelected" /></a>
- }
- </td>
- <td class="icon">
- @if (Model.SMSEnabled)
- {
- <a id="@Model.SMSFilterID" href="#"><img height="25" width="28" src="@Model.SMS_Icon_NotSelected" /></a>
- }
- </td>
- <td class="icon">
- @if (Model.FBEnabled)
- {
- <a id="@Model.FBFilterID" href="#"><img height="25" width="28" src="@Model.FB_Icon_NotSelected" /></a>
- }
- </td>
- <td class="icon">
- @if (Model.MailEnabled)
- {
- <a id="@Model.MailFilterID" href="#"><img height="25" width="28" src="@Model.Mail_Icon_NotSelected" /></a>
- }
- </td>
- <td class="icon">
- @if (Model.PhoneEnabled)
- {
- <a id="@Model.PhoneFilterID" href="#"><img height="25" width="28" src="@Model.Phone_Icon_NotSelected" /></a>
- }
- </td>
- </tr>
- @Html.HiddenFor(m => m.EmailStatus)
- @Html.HiddenFor(m => m.SMSStatus)
- @Html.HiddenFor(m => m.FBStatus)
- @Html.HiddenFor(m => m.MailStatus)
- @Html.HiddenFor(m => m.PhoneStatus)
- <script type="text/javascript">
- $(document).ready(function () {
- function ImageClick(Resource) {
- alert(Resource.attr("value"));
- if (Resource.attr("value") != 1) {
- Resource.val("1");
- }
- else {
- Resource.val("2");
- }
- alert(Resource.attr("value"));
- }
- if ("@Model.EmailEnabled" == "True") {
- $("#@Model.EmailFilterID").click(function () {
- ImageClick($("#@Html.IdFor(m => m.EmailStatus)"));
- return false;
- });
- }
- if ("@Model.SMSEnabled" == "True") {
- $("#@Model.SMSFilterID").click(function () {
- ImageClick($("#@Html.IdFor(m => m.SMSStatus)"));
- return false;
- });
- }
- if ("@Model.FBEnabled" == "True") {
- $("#@Model.FBFilterID").click(function () {
- ImageClick($("#@Html.IdFor(m => m.FBStatus)"));
- return false;
- });
- }
- if ("@Model.MailEnabled" == "True") {
- $("#@Model.MailFilterID").click(function () {
- ImageClick($("#@Html.IdFor(m => m.MailStatus)"));
- return false;
- });
- }
- if ("@Model.PhoneEnabled" == "True") {
- $("#@Model.PhoneFilterID").click(function () {
- ImageClick($("#@Html.IdFor(m => m.PhoneStatus)"));
- return false;
- });
- }
- });
- </script>
- public ActionResult PreferencesSubmit(Models.UserViewModel model)
- <form action="/Profile/PreferencesSubmit" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#accordian" id="form0" method="post">
- <input data-val="true" data-val-number="The field EmailStatus must be a number." data-val-required="The EmailStatus field is required." id="TabPrograms_0__EmailStatus" name="TabPrograms[0].EmailStatus" type="hidden" value="0" />
- <input data-val="true" data-val-number="The field SMSStatus must be a number." data-val-required="The SMSStatus field is required." id="TabPrograms_0__SMSStatus" name="TabPrograms[0].SMSStatus" type="hidden" value="0" />
- <input data-val="true" data-val-number="The field FBStatus must be a number." data-val-required="The FBStatus field is required." id="TabPrograms_0__FBStatus" name="TabPrograms[0].FBStatus" type="hidden" value="0" />
- <input data-val="true" data-val-number="The field MailStatus must be a number." data-val-required="The MailStatus field is required." id="TabPrograms_0__MailStatus" name="TabPrograms[0].MailStatus" type="hidden" value="0" />
- <input data-val="true" data-val-number="The field PhoneStatus must be a number." data-val-required="The PhoneStatus field is required." id="TabPrograms_0__PhoneStatus" name="TabPrograms[0].PhoneStatus" type="hidden" value="0" />
- var TabPrograms = (from l in Model.PrefPrograms
- where l.SubcategoryName == @AccordionTabName
- select l);
- }
- @Html.EditorFor(m => TabPrograms)
- <input name="TabPrograms[0].EmailStatus" data-val="true" data-val-number="The field EmailStatus must be a number." data-val-required="The EmailStatus field is required." id="TabPrograms_0__EmailStatus" type="hidden" value="0" />
Add Comment
Please, Sign In to add comment