@page
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Xsrf
@{
}
@functions{
public AppInfo item { get; set; }

public void OnGet([FromQuery] Guid Id) {
item = App.GetItem(Id) ?? new AppInfo();
item.Location = "111";
item.Title = "1";
}

public APIReturn OnPost() {
item = new AppInfo();
foreach (var f in Request.Form) item[f.Key] = f.Value;
var a = item;
return APIReturn.成功.SetData("item", a, "title", item);
}
}

<form method="POST">
<div>Description: <input asp-for="item.Title" /></div>
<input type="submit" value="Save Second" class="btn btn-primary btn-xs" />
</form>

<div id="mainvue">
<table cellspacing="0" rules="all" class="table table-bordered table-hover" border="1" style="border-collapse:collapse;">
<tr v-if="item.Id">
<td>id</td>
<td><input v-model="item.id" type="text" readonly class="datepicker" style="width:60%;background-color:#ddd;" /></td>
</tr>
<tr>
<td>默认渠道id</td>
<td>
<select v-model="item.default_merchant_id">
<option value="">------ 请选择 ------</option>
@foreach (var fk in Channel_merchant.Select.ToList()) {
<option value="@fk.Id">@fk.Title</option>}
</select>
</td>
</tr>
<tr>
<td>描述</td>
<td><textarea v-model="item.description" style="width:100%;height:100px;" editor="ueditor"></textarea></td>
</tr>
<tr>
<td>地址</td>
<td><input v-model="item.location" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr>
<td>负责人名</td>
<td><input v-model="item.manager" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr>
<td>old_id</td>
<td><input v-model="item.old_id" type="text" class="form-control" data-inputmask="'mask': '9', 'repeat': 6, 'greedy': false" data-mask style="width:200px;" /></td>
</tr>
<tr>
<td>省区域</td>
<td><input v-model="item.province" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr>
<td>状态</td>
<td>
<select v-model="item.row_state">
<option value="">------ 请选择 ------</option>
@foreach (object eo in Enum.GetValues(typeof(Et_row_stateENUM))) {
<option value="@eo">@eo</option>}
</select>
</td>
</tr>
<tr>
<td>手机</td>
<td><input v-model="item.telephone" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr>
<td>机构抬头名称</td>
<td><input v-model="item.title" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr>
<td>所属用户id</td>
<td><input v-model="item.xuser_id" type="text" class="datepicker" style="width:60%;" /></td>
</tr>
<tr v-if="item.Id">
<td>创建时间</td>
<td><input :value="item.create_time" type="text" readonly class="datepicker" style="width:20%;background-color:#ddd;" /></td>
</tr>
<tr>
<td>更新时间</td>
<td><input :value="item.update_time" type="text" readonly class="datepicker" style="width:20%;background-color:#ddd;" /></td>
</tr>
<tr>
<td width="8%">&nbsp</td>
<td><input type="button" @@click="save" />&nbsp;<input type="button" value="取消" /></td>
</tr>
</table>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
function ajaxRequest(type, url, data, callback, failCallBack) {
type = String(type || 'GET').toUpperCase();
if (type == 'GET') {
var dataStr = ''; //数据拼接字符串
Object.keys(data).forEach(key => {
if (Object.prototype.toString.call((data[key])) == '[object Array]') {
for (var a = 0; a < data[key].length; a++)
if (data[key][a] !== undefined) dataStr += key + "=" + data[key][a] + "&";
}
if (data[key] !== "" && data[key] !== null) dataStr += key + '=' + data[key] + '&';
})

if (dataStr !== '') {
dataStr = dataStr.substr(0, dataStr.lastIndexOf('&'));
url = url + '?' + dataStr;
}
}
var sendData = '';
var contentType = 'application/x-www-form-urlencoded; charset=utf-8';
if (type == "FORM") {
for (var key in data) {
if (Object.prototype.toString.call((data[key])) == '[object Array]') {
for (var a = 0; a < data[key].length; a++)
if (data[key] !== undefined) sendData += key + "=" + data[key][a] + "&";
}
else if (data[key] !== "" && data[key] !== null) sendData += key + "=" + data[key] + "&";
}
}
if (type == 'JSON') {
sendData = JSON.stringify(data);
contentType = "application/json; charset=utf-8";
}
if (!failCallBack) failCallBack = console.log;
var requestObj = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject;
requestObj.onreadystatechange = () => {
if (requestObj.readyState == 4) {
if (requestObj.status == 200) {
var obj = requestObj.response
if (typeof obj !== 'object') obj = JSON.parse(obj);
if (obj.code === 0) return callback(obj.data);
failCallBack(obj);
} else {
failCallBack(requestObj)
}
}
};
requestObj.open(type == 'GET' ? type : 'POST', url, true);
requestObj.setRequestHeader("Content-type", contentType);
requestObj.setRequestHeader("token", 111);
requestObj.setRequestHeader("appid", 22);
requestObj.send(sendData || null);
}

var vue = new Vue({
el: '#mainvue',
data: {
item : @Json.Serialize(item)
},
components: {
},
computed: {
},
created: function () {
var _self = this;
'@Html.AntiForgeryToken()'.replace(/ value="([^"]+)"/, function ($0, $1) {
_self.item.__RequestVerificationToken = $1;
});
},
methods: {
save: function () {
ajaxRequest('JSON', '', this.item, function (data) {
debugger
var json = data.body;
this.data = eval("(" + json + ")");
}, function (response) {
console.info(response);
})
}
}
});
</script>

RazorPage 小测试,作下记录的更多相关文章

  1. 测试环境下将centos6.8升级到centos7的操作记录(转)

    在测试环境下安装openstack,由于在centos6下安装openstack,针对源的问题有很多,安装起来很不顺利! 但是在centos7下安装却很顺利,所以考虑将服务器由centos6升级到ce ...

  2. RobotFramework测试环境搭建记录

    Robotframwork测试环境搭建记录 1.安装Python2.7(https://www.python.org/) 在环境变量path中加入“C:\Python27” 安装后的验证方法为在命令行 ...

  3. 20155322 2017-2018-1《信息安全系统设计》第二周 课堂测试 Linux下C语言实现MYOD

    20155322 2017-2018-1<信息安全系统设计>第二周 课堂测试 Linux下C语言实现MYOD [博客目录] 静态库测试 实现方法 相关资料 操作 动态库测试 实现方法 相关 ...

  4. 2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业

    2017-2018-1 20155327 <信息安全系统设计基础>课堂测试&课下作业 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep ...

  5. PHP中使用PDO操作事务的一些小测试

    关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解.今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容. 在 MyISAM 上使用事务会怎么 ...

  6. 微信小程序-自定义下拉刷新

    最近给别个公司做技术支持,要实现微信小程序上拉刷新与下拉加载更多 微信给出的接口不怎么友好,最终想实现效果类似QQ手机版 ,一共3种下拉刷新状态变化,文字+图片+背景颜色 最终实现后的效果(这里提示有 ...

  7. 2017-2018-1 20155330 《信息安全系统设计基础》第10周课堂测试&课下作业

    2017-2018-1 20155330 <信息安全系统设计基础>第10周课堂测试&课下作业 stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习st ...

  8. 微信小程序的下拉刷新

    微信小程序的下拉刷新:在page的js文件中有监听用户下拉刷新的处理函数onPullDownRefresh:function(){} //js文件中自带的处理函数,在onUnload下面,注意不要重复 ...

  9. 微信小程序禁止下拉_解决小程序下拉出现空白的情况

    微信小程序禁止下拉 在微信小程序中,用力往下拉动,页面顶部会出现一段空白的地方. 产品的需求不太允许这么做,会影响用户体验,查看文档发现可以使用enablePullDownRefresh这属性来实现, ...

随机推荐

  1. Mysql访问权限问题:Access denied for user 'root'@'XXX' (using password: YES)

    System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. Thi ...

  2. Spring Boot实战笔记(六)-- Spring高级话题(多线程)

    一.多线程 Springt通过任务执行器(TaskExecutor)来实现多线程和并发编程.使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor.而实际开发中 ...

  3. QT5:C++实现基于multimedia的音乐播放器(二)

    今天接着上一篇来实现播放器的槽函数. 先来实现播放模式,槽函数如下: //播放模式 void Music::musicPlayPattern() { //z=++z%3; ) { //顺序播放 pla ...

  4. 输入流IS和输出流OS学习总结

    1.我们编写的程序,除了自身会定义一些数据信息外,经常还会引用外界的数据,或是将自身的数据发送到外界,比如我们编写的程序想读取一个文本文件, 又或者是我们想将程序的一些数据写到一个文件中,这时我们就要 ...

  5. PAT1091:Acute Stroke

    1091. Acute Stroke (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue One impo ...

  6. Flask开发微电影网站(二)

    1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridDB数据库提示符,创建movie数据库 create ...

  7. Oauth2.0 用Spring-security-oauth2

    客户端通过appId,redirectUrl,在open platform打开的页面上填写正确的用户名和密码后,open platform验证通过后,会跳转到redirectUrl,此时的redire ...

  8. bootstrap学习地址2017.6.1

    http://www.runoob.com/bootstrap/bootstrap-tutorial.html

  9. xp开机黑屏故障分析

    今天装完xp系统之后,重启开机发现竟然黑屏了,查资料发现有很多用户在修改分辨率后,因显示器不支持修改后的分辨率,会出现电脑黑屏的情况.分辨率调高了,超出了屏幕的范围,肯定会黑屏,而且这个问题还挺麻烦, ...

  10. 用java8重写Arrays.sort(oldWay, new Comparator<String>(){@Override public int compare(String s1, String s2)});

    参考https://www.liaoxuefeng.com/article/001411306573093ce6ebcdd67624db98acedb2a905c8ea4000/ Java 8终于引进 ...