问题描述
我在MVC5中创建了一个向导,并且有一个可以正确填充的下拉菜单,当我运行开发工具时,它会像预期的那样显示该下拉菜单的所有值,但是当我提交表单时,我收到以下信息错误:
import plotly.graph_objects as go
bins = ["Age0-20","Age21-40","Age41-60"]
passengers = ["14","27","19"]
fig = go.figure()
fig.add_trace(go.Histogram(histfunc="sum",y=passengers,x=bins,name="sum"))
fig.update_layout(showlegend=True)
fig.show()
System.NullReferenceException: Object reference not set to an instance of an object.
向导中的所有其他下拉菜单都可以正常工作。只是这个似乎不想工作。我可能忽略了一个简单的错误。
这是我的代码:
查看:
System.Web.Mvc.WebViewPage<TModel>.Model.get returned null.
控制器:
@using (Html.BeginForm("Payment","NewUserSubscription",new { @id = string.Empty },FormMethod.Post,new { @id = "payment-form" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Step 4: Payment</h4>
<hr />
@Html.ValidationSummary(true)
<div class="container">
<div class="row">
<div class="card shadow mb-4 w-100">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Payment</h6>
</div>
<div class="card-body">
<row>
<div class="form-group">
<label for="plan" class="control-label">Select a Plan</label><br />
@Html.DropDownListFor(model => model.planid,Model.subscriptionTypes,"None",new { @id = "plan",@class = "form-control" })
@Html.ValidationMessageFor(model => model.planid,"",new { @class = "text-danger" })
</div>
<div class="form-group">
<label for="card-number">
Credit or debit card
</label>
<div id="card-number">
<!-- A Stripe Element will be inserted here. -->
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<label for="card-cvc">
CVC
</label>
<div id="card-cvc">
<!-- A Stripe Element will be inserted here. -->
</div>
</div>
<div class="col-md-6">
<label for="card-expiration">
Exp
</label>
<div id="card-expiration">
<!-- A Stripe Element will be inserted here. -->
</div>
</div>
</div>
</div>
<!-- Used to display form errors. -->
<div id="card-errors" role="alert"></div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" name="BtnPrevIoUs" value="PrevIoUs" class="btn btn-default" />
<button class="form-control btn btn-primary" type="submit">Submit Payment</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
viewmodel:
[HttpPost]
public ActionResult ChurchAffiliation(ChurchAffiliation ChurchAffiliationData,string BtnPrevIoUs,string BtnNext)
{
login userSubscObj = GetUser();
if (BtnPrevIoUs != null)
{
Security SecurityObj = new Security();
SecurityObj.Password = userSubscObj.Password;
SecurityObj.seclistid = userSubscObj.SecretQuestion;
SecurityObj.Answer = userSubscObj.SecretAnswer;
SecurityObj.Pin = userSubscObj.AccountPasscode.ToString();
return View("Security",SecurityObj);
}
if (BtnNext != null)
{
if (ModelState.IsValid)
{
userSubscObj.ChurchAffiliation = ChurchAffiliationData.chlist1id.GetValueOrDefault();
userSubscObj.ChurchAffiliation2 = ChurchAffiliationData.chlist2id.GetValueOrDefault();
userSubscObj.ChurchAffiliation3 = ChurchAffiliationData.chlist3id.GetValueOrDefault();
userSubscObj.ChurchAffiliation4 = ChurchAffiliationData.chlist4id.GetValueOrDefault();
Payment payment = new Payment();
payment.subscriptionTypes = new SelectList((from s in db.subscriptiontypes
select new
{
ID = s.StripePriceID,FullName = s.SubscriptionType1 + " - $" + s.Price + "/Month "
}),"ID","FullName");
return View("Payment",payment);
}
}
Payment paymentRetry = new Payment();
paymentRetry.subscriptionTypes = new SelectList((from s in db.subscriptiontypes
select new
{
ID = s.StripePriceID,FullName = s.SubscriptionType1 + " - $" + s.Price + "/Month "
}),"FullName");
return View(paymentRetry);
}
[HttpPost]
public ActionResult Payment(Payment PaymentData,string BtnNext)
{
login userSubscObj = GetUser();
if (BtnPrevIoUs != null)
{
ChurchAffiliation ChurchAffiliationObj = new ChurchAffiliation();
ChurchAffiliationObj.chlist1id = userSubscObj.ChurchAffiliation;
ChurchAffiliationObj.chlist2id = userSubscObj.ChurchAffiliation2;
ChurchAffiliationObj.chlist3id = userSubscObj.ChurchAffiliation3;
ChurchAffiliationObj.chlist4id = userSubscObj.ChurchAffiliation4;
return View("ChurchAffiliation",ChurchAffiliationObj);
}
if (BtnNext != null)
{
if (ModelState.IsValid)
{
Personal@R_588_4045@ion Personal@R_588_4045@ionObj = new Personal@R_588_4045@ion();
var originalString = userSubscObj.Name;
var firstSpaceIndex = originalString.IndexOf(" ");
var firstName = originalString.Substring(0,firstSpaceIndex);
var lastName = originalString.Substring(firstSpaceIndex + 1);
Personal@R_588_404[email protected]irstName = firstName;
Personal@R_588_404[email protected] = lastName;
Personal@R_588_404[email protected] = userSubscObj.MusicianType;
Personal@R_588_404[email protected] = userSubscObj.MusicianType2;
Personal@R_588_404[email protected] = userSubscObj.Company;
Personal@R_588_404[email protected] = userSubscObj.UserName;
Personal@R_588_404[email protected] = userSubscObj.Address;
Personal@R_588_404[email protected] = userSubscObj.City;
Personal@R_588_404[email protected] = userSubscObj.State;
Personal@R_588_404[email protected] = userSubscObj.Zip.ToString();
if (PaymentData.planid == "price_1HOnxHKAzhBUyKohQTIndEzD")
{
userSubscObj.UserType = 1;
userSubscObj.AccountType = Convert.ToString(1);
}
if (PaymentData.planid == "price_1HCsfAKAzhBUyKohfqJ1J0yO")
{
userSubscObj.UserType = 2;
userSubscObj.AccountType = Convert.ToString(2);
}
if (PaymentData.planid == "price_1HOnzlKAzhBUyKohZFNq7FRo")
{
userSubscObj.UserType = 3;
userSubscObj.AccountType = Convert.ToString(3);
}
db.logins.Add(userSubscObj);
db.SaveChanges();
RemoveUser();
return View("Success");
}
}
return View();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)