在我的 public class RecyclerViewAdapterTransactions extends RecyclerSwipeAdapter<RecyclerViewAdapterTransactions.SimpleViewHolder>{
public static class SimpleViewHolder extends RecyclerView.ViewHolder {
SwipeLayout swipeLayout;
ImageButton buttonDelete;
ImageButton buttonEdit;
TextView textViewAccount;
TextView textViewAmount;
TextView textViewIncomeExpense;
TextView textViewDate;
TextView textViewUID;
TextView textViewCategory;
TextView textViewDescription;
TextView textViewType;
public SimpleViewHolder(View itemView) {
super(itemView);
swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipeLayoutTransactions);
buttonDelete = (ImageButton) itemView.findViewById(R.id.imageButtonTransactionDelete);
buttonEdit = (ImageButton) itemView.findViewById(R.id.imageButtonTransactionEdit);
textViewAmount = (TextView) itemView.findViewById(R.id.textViewAmount);
textViewAccount = (TextView) itemView.findViewById(R.id.textViewAccount);
textViewIncomeExpense = (TextView) itemView.findViewById(R.id.textViewIncomeExpense);
textViewType = (TextView) itemView.findViewById(textViewTransactionType);
textViewDate = (TextView) itemView.findViewById(R.id.textViewDateOfTransaction);
textViewCategory = (TextView) itemView.findViewById(R.id.textViewCategory);
textViewUID = (TextView) itemView.findViewById(R.id.id);
textViewDescription = (TextView) itemView.findViewById(R.id.textViewDescription);
}
}
private Context mContext;
private ArrayList<String> account;
private ArrayList<String> amount;
private ArrayList<String> incomeExpense;
private ArrayList<String> type;
private ArrayList<String> date;
private ArrayList<String> category;
private ArrayList<String> uid;
private ArrayList<String> description;
public RecyclerViewAdapterTransactions(Context context, ArrayList<String> account, ArrayList<String> amount, ArrayList<String> incomeExpense, ArrayList<String> type, ArrayList<String> date, ArrayList<String> category, ArrayList<String> uid, ArrayList<String> description) {
this.mContext = context;
this.account = account;
this.amount = amount;
this.incomeExpense = incomeExpense;
this.type = type;
this.date = date;
this.category = category;
this.uid = uid;
this.description = description;
}
@Override
public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.listview_transactions, parent, false);
return new SimpleViewHolder(view);
}
@Override
public void onBindViewHolder(final SimpleViewHolder viewHolder, final int position) {
String itemAccount = account.get(position);
String itemAmount = amount.get(position);
String itemIncomeExpense = incomeExpense.get(position);
String itemType = type.get(position);
String itemDate = date.get(position);
String itemCategory = category.get(position);
String itemDescription = description.get(position);
final String itemID = uid.get(position);
viewHolder.swipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);
viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mItemManger.removeShownLayouts(viewHolder.swipeLayout);
account.remove(position);
amount.remove(position);
incomeExpense.remove(position);
type.remove(position);
date.remove(position);
category.remove(position);
uid.remove(position);
description.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, account.size());
mItemManger.closeAllItems();
TransactionsDatabase transactionsDatabase = new TransactionsDatabase(mContext);
transactionsDatabase.open();
transactionsDatabase.deleteEntry(itemID);
transactionsDatabase.close();
}
});
viewHolder.buttonEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(mContext, EditTransaction.class);
intent.putExtra("account", account.get(position));//
intent.putExtra("amount", amount.get(position));//
intent.putExtra("incomeExpense", incomeExpense.get(position));//
intent.putExtra("type", type.get(position));//
intent.putExtra("date", date.get(position));//
intent.putExtra("category", category.get(position));//
intent.putExtra("uid", uid.get(position));
intent.putExtra("description", description.get(position));//
mContext.startActivity(intent);
}
});
Typeface robotoTypeFace = Typeface.createFromAsset(mContext.getAssets(), "fonts/Roboto-Thin.ttf");
viewHolder.textViewAccount.setText(itemAccount);
viewHolder.textViewAmount.setText(itemAmount);
viewHolder.textViewIncomeExpense.setText(itemIncomeExpense);
viewHolder.textViewType.setText(itemType);
viewHolder.textViewDate.setText(itemDate);
viewHolder.textViewCategory.setText(itemCategory);
viewHolder.textViewUID.setText(itemID);
viewHolder.textViewDescription.setText(itemDescription);
viewHolder.textViewAccount.setTypeface(robotoTypeFace);
viewHolder.textViewAmount.setTypeface(robotoTypeFace);
viewHolder.textViewIncomeExpense.setTypeface(robotoTypeFace);
viewHolder.textViewType.setTypeface(robotoTypeFace);
viewHolder.textViewDate.setTypeface(robotoTypeFace);
viewHolder.textViewCategory.setTypeface(robotoTypeFace);
viewHolder.textViewUID.setTypeface(robotoTypeFace);
viewHolder.textViewDescription.setTypeface(robotoTypeFace);
mItemManger.bindView(viewHolder.itemView, position);
}
@Override
public int getItemCount() {
return uid.size();
}
@Override
public int getSwipeLayoutResourceId(int position) {
return R.id.swipeLayoutTransactions;
}
}
视图中,我有一个名为index
的过滤器,我通过currentFilter
传递到我的edit
视图,如下所示:
ViewBag
在我的编辑视图中,我有3个提交按钮,如下所示:
@Html.ActionLink("Edit", "Edit", new { evpId = item.EvpId, currentFilter = ViewBag.CurrentFilter })
然后终于在我的控制器中我正在做一个开关,它会重定向到每个按钮的相应Post动作。
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input id="btnSubmitSave" type="submit" name="submitButton" value="Save" class="btn btn-default cancel" />
<input id="btnSubmitResolve" type="submit" name="submitButton" value="Resolve" class="btn btn-default" />
<input id="btnSubmitUnResolvable" type="submit"name="submitButton" value="UnResolvable" class="btn btn-default cancel" />
</div>
</div>
</div>
我希望通过单击按钮传递[HttpPost]
public ActionResult Edit(string submitButton, PersonViewModel modifiedPersonViewModel)
{
switch (submitButton)
{
case "Save": return (Save(modifiedPersonViewModel));
case "Resolve": return (Resolve(modifiedPersonViewModel));
case "UnResolvable": return (UnResolvable(modifiedPersonViewModel));
default: return (View());
}
}
值,如果他们点击保存例如当前,当他们返回currentFilter
视图时,过滤器丢失并且他们必须输入再一次,我只是不知道如何通过输入标签传递这个?
答案 0 :(得分:2)
您可以在表单中插入类型为hidden
的输入:
<input type="hidden" name="currentFilter" value="@Model.CurrentFilter" />
<input id="btnSubmitSave" type="submit" name="submitButton" value="Save" class="btn btn-default cancel" />
<input id="btnSubmitResolve" type="submit" name="submitButton" value="Resolve" class="btn btn-default" />
<input id="btnSubmitUnResolvable" type="submit"name="submitButton" value="Unresolvable" class="btn btn-default cancel" />
您需要将CurrentFilter
属性附加到编辑模型。
然后您可以在操作中使用此值:
public ActionResult Edit(string currentFilter, string submitButton, PersonViewModel modifiedPersonViewModel)
{
...
}