React入门(增删改查)
<p>话不多说,直接上代码,有哪些细节不会的问题可以直接问我,我会尽我所能回答</p><p>添加页面:</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_dbe0925a-3dda-40dd-91fa-ce2dfd80c139" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_dbe0925a-3dda-40dd-91fa-ce2dfd80c139" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_dbe0925a-3dda-40dd-91fa-ce2dfd80c139" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">@{
ViewData[</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Title</span><span style="color: rgba(128, 0, 0, 1)">"</span>] = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Add</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><h1>添加页面</h1>
<html lang=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">en</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<head>
<meta charset=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UTF-8</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<link href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/lib/bootstrap/dist/css/bootstrap.css</span><span style="color: rgba(128, 0, 0, 1)">"</span> rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">stylesheet</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react/16.4.0/umd/react.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/layui-v2.5.6/layui/layui.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<link href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/layui-v2.5.6/layui/css/layui.css</span><span style="color: rgba(128, 0, 0, 1)">"</span> rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">stylesheet</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
</head>
<body>
<div id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">cun</span><span style="color: rgba(128, 0, 0, 1)">"</span>></div>
<script type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text/babel</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">type="text/babel"</span>
<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> CrudComponent extends React.Component{
constructor(props){
super(props)
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.state=<span style="color: rgba(0, 0, 0, 1)">{
list:[]
}
}
addUser(){
</span><span style="color: rgba(0, 0, 255, 1)">const</span> insertUser = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/AddLog?username=</span><span style="color: rgba(128, 0, 0, 1)">"</span> + <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.username.value
fetch(insertUser,{method:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">post</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">})
.then(response</span>=><span style="color: rgba(0, 0, 0, 1)">response.json())
.then(data</span>=><span style="color: rgba(0, 0, 0, 1)">{
console.log(data)
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (data><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">) {
alert(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">添加成功</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
window.location.href </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:62817/Ajax/Index</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
})
}
render(){
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> (
</span><div>
<fieldset className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-elem-field</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<legend>Add User</legend>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-field-box</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-row layui-col-space2</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-col-md1</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<input type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(128, 0, 0, 1)">"</span> id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">username</span><span style="color: rgba(128, 0, 0, 1)">"</span> name=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">username</span><span style="color: rgba(128, 0, 0, 1)">"</span> required lay-verify=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">required</span><span style="color: rgba(128, 0, 0, 1)">"</span> placeholder=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">操作人</span><span style="color: rgba(128, 0, 0, 1)">"</span> className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-input</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">ref</span>={username => <span style="color: rgba(0, 0, 255, 1)">this</span>.username = username} />
</div>
<hr className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-bg-green</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-col-md1</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<button id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">btn2</span><span style="color: rgba(128, 0, 0, 1)">"</span> className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-btn</span><span style="color: rgba(128, 0, 0, 1)">"</span> onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.addUser.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>)}>
<i className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-icon</span><span style="color: rgba(128, 0, 0, 1)">"</span>>&#xe608;</i><span style="color: rgba(0, 0, 0, 1)">添加
</span></button>
</div>
</div>
</div>
</fieldset>
</div><span style="color: rgba(0, 0, 0, 1)">
)
}
}
ReactDOM.render(
</span><CrudComponent />,document.getElementById(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">cun</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">))
</span></script>
</body>
</html></pre>
</div>
<span class="cnblogs_code_collapse">Add.cshtml</span></div>
<p>显示页面:</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_198ad55f-020a-48bd-a14d-53460c62c913" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_198ad55f-020a-48bd-a14d-53460c62c913" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_198ad55f-020a-48bd-a14d-53460c62c913" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">@{
ViewData[</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Title</span><span style="color: rgba(128, 0, 0, 1)">"</span>] = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Index</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><h2>自己敲的ajax</h2>
<!DOCTYPE html>
<html>
<head>
<meta charset=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UTF-8</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<title>React 实例</title>
<link href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/lib/bootstrap/dist/css/bootstrap.css</span><span style="color: rgba(128, 0, 0, 1)">"</span> rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">stylesheet</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react/16.4.0/umd/react.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
</head>
<body>
<div id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">example</span><span style="color: rgba(128, 0, 0, 1)">"</span>></div>
<script type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text/babel</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">type="text/babel"</span>
<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> UserGist extends React.Component {
constructor(props) {
super(props);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">在state设置两个属性,以便后续通过state对象来对其进行修改</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.state =<span style="color: rgba(0, 0, 0, 1)"> {List:[]};
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">绑定挂载事件</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.componentDidMount = <span style="color: rgba(0, 0, 255, 1)">this</span>.componentDidMount.bind(<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">);
}
componentDidMount() {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">接下来操作state时上下文对象发生改变,此处拿到操作句柄</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> that = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">ajax请求</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.serverRequest =<span style="color: rgba(0, 0, 0, 1)"> $.ajax({
url: </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.props.source,
type:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GET</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
dataType:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">json</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
success: function (result) {
console.log(result);
</span><span style="color: rgba(0, 0, 255, 1)">var</span> lastGist =<span style="color: rgba(0, 0, 0, 1)"> result;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">此处的上下文发生改变,this的指针指向发生了变化,通过上述定义的that来操作</span>
<span style="color: rgba(0, 0, 0, 1)"> that.setState({
List: result,
})
}
})
}
DelUser(index) {
</span><span style="color: rgba(0, 0, 255, 1)">const</span> insertUser = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/DelLog?id=</span><span style="color: rgba(128, 0, 0, 1)">"</span> +<span style="color: rgba(0, 0, 0, 1)">index
fetch(insertUser, { method: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">post</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> }
)
.then(response </span>=><span style="color: rgba(0, 0, 0, 1)"> response.json())
.then(data </span>=><span style="color: rgba(0, 0, 0, 1)"> {
console.log(data)
</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.setState({
List: </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.state.List
})
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (data > <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">) {
alert(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">删除成功</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
window.location.href </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:62817/Ajax/Index</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
})
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">卸载React组件时,把多余请求关闭,以免影响其他框架或组件的操作</span>
<span style="color: rgba(0, 0, 0, 1)"> componentWillUnmount() {
</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.serverRequest.abort();
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加按钮跳转事件</span>
<span style="color: rgba(0, 0, 0, 1)"> AddReact() {
window.location.href </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:62817/Ajax/Add</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改按钮点击跳转事件</span>
<span style="color: rgba(0, 0, 0, 1)"> UptUser(id){
window.location.href </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:62817/Ajax/Upt?id=</span><span style="color: rgba(128, 0, 0, 1)">"</span>+<span style="color: rgba(0, 0, 0, 1)">id;
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">查询按钮点击事件</span>
<span style="color: rgba(0, 0, 0, 1)"> CxReact()
{
</span><span style="color: rgba(0, 0, 255, 1)">const</span> insertUser = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/CxLog?name=</span><span style="color: rgba(128, 0, 0, 1)">"</span> +<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.name.value
fetch(insertUser, { method: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">post</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> }
)
.then(response </span>=><span style="color: rgba(0, 0, 0, 1)"> response.json())
.then(data </span>=><span style="color: rgba(0, 0, 0, 1)"> {
console.log(data)
</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.setState({
List: data
})
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">if (data > 0) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> window.location.href = "</span><span style="color: rgba(0, 128, 0, 1); text-decoration: underline">http://localhost</span><span style="color: rgba(0, 128, 0, 1)">:62817/Ajax/Index";
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">}</span>
<span style="color: rgba(0, 0, 0, 1)">
})
}
render() {
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> (
</span><div>
<button onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.AddReact.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>)}><span style="color: rgba(0, 0, 0, 1)">
添加
</span></button><span style="color: rgba(0, 0, 0, 1)">
操作人名称是:
</span><input type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(128, 0, 0, 1)">"</span> id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span> name=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">ref</span>={name => <span style="color: rgba(0, 0, 255, 1)">this</span>.name = name} />
<button onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.CxReact.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>)}><span style="color: rgba(0, 0, 0, 1)">
查询
</span></button>
<table className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">table table-bordered</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<thead>
<tr>
<td>主键Id</td>
<td>操作人</td>
<td>操作状态</td>
<td>操作时间</td>
<td>操作</td>
</tr>
</thead>
<tbody><span style="color: rgba(0, 0, 0, 1)">
{
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.state.List.map((item,index) =><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> (
</span><tr key={index}>
<td>{item.lId}</td>
<td>{item.userName}</td>
<td>{item.state}</td>
<td>{item.time}</td>
<td><button onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.DelUser.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>,item.lId)}>删除</button><button onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.UptUser.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>,item.lId)}>修改</button></td>
</tr><span style="color: rgba(0, 0, 0, 1)">
)
}
)
}
</span></tbody>
</table><span style="color: rgba(0, 0, 0, 1)">
@</span>*{<span style="color: rgba(0, 0, 255, 1)">this</span>.state.date[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">].userName} 用户最新的 Gist 共享地址:
</span><a href={<span style="color: rgba(0, 0, 255, 1)">this</span>.state.lastGistUrl} rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nofollow</span><span style="color: rgba(128, 0, 0, 1)">"</span>>{<span style="color: rgba(0, 0, 255, 1)">this</span>.state.lastGistUrl}</a>*<span style="color: rgba(0, 0, 0, 1)">@
</span></div><span style="color: rgba(0, 0, 0, 1)">
);
}
}
ReactDOM.render(
</span><UserGist source=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/LogShow</span><span style="color: rgba(128, 0, 0, 1)">"</span> /><span style="color: rgba(0, 0, 0, 1)">,
document.getElementById(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">example</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
);
</span></script>
</body>
</html></pre>
</div>
<span class="cnblogs_code_collapse">Index.cshtml</span></div>
<p>修改页面:</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_e8ed56d2-f25c-4f4c-9437-4aec79b46b90" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_e8ed56d2-f25c-4f4c-9437-4aec79b46b90" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_e8ed56d2-f25c-4f4c-9437-4aec79b46b90" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">@{
ViewData[</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Title</span><span style="color: rgba(128, 0, 0, 1)">"</span>] = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Upt</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><h1>修改页面</h1>
<html lang=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">en</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<head>
<meta charset=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">UTF-8</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<link href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/lib/bootstrap/dist/css/bootstrap.css</span><span style="color: rgba(128, 0, 0, 1)">"</span> rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">stylesheet</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react/16.4.0/umd/react.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<script src=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/layui-v2.5.6/layui/layui.js</span><span style="color: rgba(128, 0, 0, 1)">"</span>></script>
<link href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">~/layui-v2.5.6/layui/css/layui.css</span><span style="color: rgba(128, 0, 0, 1)">"</span> rel=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">stylesheet</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
</head>
<body>
<div id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">cun</span><span style="color: rgba(128, 0, 0, 1)">"</span>></div>
<script type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text/babel</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">type="text/babel"</span>
<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> CrudComponent extends React.Component{
constructor(props){
super(props)
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.state=<span style="color: rgba(0, 0, 0, 1)">{
list:[]
}
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">反填</span>
<span style="color: rgba(0, 0, 0, 1)"> componentDidMount() {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">接下来操作state时上下文对象发生改变,此处拿到操作句柄</span>
<span style="color: rgba(0, 0, 255, 1)">var</span> that = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">ajax请求</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.serverRequest =<span style="color: rgba(0, 0, 0, 1)"> $.ajax({
url: </span><span style="color: rgba(0, 0, 255, 1)">this</span>.props.source+<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">?id=</span><span style="color: rgba(128, 0, 0, 1)">"</span>+<span style="color: rgba(0, 0, 0, 1)">@ViewBag.userid,
type:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">post</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
dataType:</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">json</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
success: function (result) {
console.log(result);
</span><span style="color: rgba(0, 0, 255, 1)">var</span> lastGist =<span style="color: rgba(0, 0, 0, 1)"> result;
$(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">#username</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">).val(result.userName);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">此处的上下文发生改变,this的指针指向发生了变化,通过上述定义的that来操作</span>
<span style="color: rgba(0, 0, 0, 1)"> that.setState({
list: result,
})
}
})
}
UptUser(){
</span><span style="color: rgba(0, 0, 255, 1)">const</span> insertUser = <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/XgLog?username=</span><span style="color: rgba(128, 0, 0, 1)">"</span> + <span style="color: rgba(0, 0, 255, 1)">this</span>.username.value+<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">&LId=</span><span style="color: rgba(128, 0, 0, 1)">"</span>+<span style="color: rgba(0, 0, 0, 1)">@ViewBag.userid
fetch(insertUser,{method:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">post</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">})
.then(response</span>=><span style="color: rgba(0, 0, 0, 1)">response.json())
.then(data</span>=><span style="color: rgba(0, 0, 0, 1)">{
console.log(data)
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (data><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">) {
alert(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">修改成功</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
window.location.href </span>= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:62817/Ajax/Index</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
})
}
render(){
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> (
</span><div>
<fieldset className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-elem-field</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<legend>Add User</legend>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-field-box</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-row layui-col-space2</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-col-md1</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<input type=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(128, 0, 0, 1)">"</span> id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">username</span><span style="color: rgba(128, 0, 0, 1)">"</span> name=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">username</span><span style="color: rgba(128, 0, 0, 1)">"</span> required lay-verify=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">required</span><span style="color: rgba(128, 0, 0, 1)">"</span> placeholder=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">操作人</span><span style="color: rgba(128, 0, 0, 1)">"</span> className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-input</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">ref</span>={username => <span style="color: rgba(0, 0, 255, 1)">this</span>.username = username} />
</div>
<hr className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-bg-green</span><span style="color: rgba(128, 0, 0, 1)">"</span> />
<div className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-col-md1</span><span style="color: rgba(128, 0, 0, 1)">"</span>>
<button id=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">btn2</span><span style="color: rgba(128, 0, 0, 1)">"</span> className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-btn</span><span style="color: rgba(128, 0, 0, 1)">"</span> onClick={<span style="color: rgba(0, 0, 255, 1)">this</span>.UptUser.bind(<span style="color: rgba(0, 0, 255, 1)">this</span>)}>
<i className=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">layui-icon</span><span style="color: rgba(128, 0, 0, 1)">"</span>>&#xe608;</i><span style="color: rgba(0, 0, 0, 1)">修改
</span></button>
</div>
</div>
</div>
</fieldset>
</div><span style="color: rgba(0, 0, 0, 1)">
)
}
}
ReactDOM.render(
</span><CrudComponent source=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://localhost:58646/api/Qx/FtLog</span><span style="color: rgba(128, 0, 0, 1)">"</span> />,document.getElementById(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">cun</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">))
</span></script>
</body>
</html></pre>
</div>
<span class="cnblogs_code_collapse">Upt.cshtml</span></div>
<p>后端接口:</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_9ad836bf-04e4-4788-9937-b297a3ff2474" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_9ad836bf-04e4-4788-9937-b297a3ff2474" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_9ad836bf-04e4-4788-9937-b297a3ff2474" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> AddLog(Log m)
{
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">LogHelper log = new LogHelper();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Log model = new Log();</span>
<span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">insert into Log values('{m.UserName}',2,1,'{DateTime.Now }')</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> dbhelper.ExecuteNonQuery(sql);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span> DelLog(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> id)
{
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">LogHelper log = new LogHelper();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Log model = new Log();</span>
<span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">delete from Log where LId={id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> dbhelper.ExecuteNonQuery(sql);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">日志显示的方法</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Log><span style="color: rgba(0, 0, 0, 1)"> LogShow()
{
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> db.Log.ToList();
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">反填</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> Log FtLog(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> id)
{
</span><span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">select * from Log where LId={id}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">return</span> dbhelper.GetToList<Log>(sql)[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">];
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> XgLog(Log model)
{
</span><span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Update Log set UserName='{model.UserName}' where LId={model.LId}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> dbhelper.ExecuteNonQuery(sql);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">查询日志</span>
<span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Log> CxLog(<span style="color: rgba(0, 0, 255, 1)">string</span><span style="color: rgba(0, 0, 0, 1)"> name)
{
</span><span style="color: rgba(0, 0, 255, 1)">string</span> sql = $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">select * from Log </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (name!=<span style="color: rgba(128, 0, 0, 1)">""</span><span style="color: rgba(0, 0, 0, 1)">)
{
sql </span>+= $<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">where UserNamelike '%{name}%'</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
{
sql </span>+= <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">where 1=1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">return</span> dbhelper.GetToList<Log><span style="color: rgba(0, 0, 0, 1)">(sql);
}</span></pre>
</div>
<span class="cnblogs_code_collapse">Qx.cs</span></div>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
越是无知的人越是觉得自己无所不知(之前的自己)
越是学习的人越是觉得自己会的太少了(现在的自己)
共勉<br><br>
来源:https://www.cnblogs.com/rookiewang/p/13820934.html
頁:
[1]